Neste artigo, explicaremos um de seus recursos mais úteis que é pesquisar e substituir. Com um punhado de configurações, você pode pesquisar o que quiser na velocidade incrível e com granularidade mais fina.
Método # 1 Encontre e substitua uma ocorrência de cada vez (usando o comando barra e ponto)
A maneira mais simples de pesquisar e substituir uma palavra no Vim é usando o comando barra e ponto. A barra (/) pode ser usada para pesquisar uma palavra, enquanto o ponto (.) Pode ser usado para substituir essa palavra.
Siga os passos simples abaixo para pesquisar e substituir qualquer palavra no editor Vim:
- Abra o arquivo no Vim
- Pressione a tecla barra (/) junto com o termo de pesquisa como / search_term e pressione Enter. Ele irá destacar a palavra selecionada.
- Em seguida, pressione a tecla cgn para substituir a palavra destacada e digite o replace_term
- Volte ao modo normal. Em seguida, pressione n para ir para a próxima ocorrência do termo de pesquisa.
- Em seguida, pressione o ponto (.) Se desejar substituir a próxima ocorrência pelo mesmo replace_term, caso contrário, pressione novamente a tecla n para mover para a próxima ocorrência.
É o método mais rápido e melhor para pesquisa básica e substitui funções, pois envolve apenas alguns toques no teclado e menos interrupções em seu trabalho atual. No entanto, a busca por uma palavra que ocorre muitas vezes se tornará uma tarefa repetitiva e demorada.
Com o Vim, existe outra maneira melhor de evitar essa tarefa repetitiva que é usar o comando substitute.
Método # 2 Encontre e Substitua usando o comando Substituir
O comando substitute pode ser usado para realizar pesquisas básicas e avançadas e substituir funções com um único comando. A sintaxe deste comando é:
$: s/<termo de pesquisa> /<substituir_term> /opção
Observe que você deve inserir este comando no modo normal.
Onde
- S: significa substituto
- search_term: a palavra que você deseja pesquisar e substituir
- substituir_term: a palavra com a qual você deseja substituí-lo
- Opção: c (para confirmação), g (substituir todas as ocorrências em uma linha), i (para ignorar o caso)
Pesquisar e substituir
Para realizar a pesquisa básica e substituir usando o comando substitute, use a seguinte sintaxe:
:%s/<termo de pesquisa> /<substituir_term> /gEste comando substituirá todas as instâncias de search_term pelo replace_term.
Por exemplo, este é nosso texto de exemplo:
Ubuntu é um dos sistemas operacionais Linux mais usados. Ubuntu inclui milhares de programas úteis. Com a linha de comando do Ubuntu, você pode realizar quase qualquer tipo de tarefa.
Para substituir cada ocorrência do Ubuntu por Debian no texto a seguir, o seguinte comando seria usado:
:%s/Ubuntu/Debian/gPesquisar e substituir em uma única linha
Para pesquisar e substituir a ocorrência de uma palavra apenas em uma única linha em vez de no arquivo inteiro, use a seguinte sintaxe:
: s/<termo de pesquisa> /substituir_term/gPor exemplo, para substituir a ocorrência de Ubuntu por Debian no texto de exemplo acima, o seguinte comando sem o símbolo% seria usado:
: s/Ubuntu/Debian/gPesquisar e substituir com confirmação
Se você quiser que uma confirmação seja solicitada antes de substituir o termo de pesquisa, use c no final do comando de pesquisa da seguinte maneira:
: s/<termo de pesquisa> /<substituir_term> /gcO comando acima pedirá confirmação antes de cada substituição (digite y para sim enquanto n para não).
Pesquisa e substituição que não diferencia maiúsculas de minúsculas
Quando você pesquisa e substitui no Vim, por padrão, é sensível a maiúsculas e minúsculas. Você pode realizar uma pesquisa que não diferencia maiúsculas de minúsculas adicionando i no final do comando da seguinte maneira:
: s/<termo de pesquisa> /<substituir_term> /darPor exemplo, para pesquisar o termo Ubuntu independentemente de seu caso (UBUNTU, Ubuntu, ubuntu, uBuntu), o seguinte comando seria usado:
: s/ubuntu/debian/darPesquise e substitua a palavra inteira
Por padrão, o comando substitute procura por qualquer correspondência, seja parcial ou total. Para corresponder ao search_term exato e substituí-lo pelo replace_term, inclua o search _term dentro de.
Por exemplo, em alguns documentos, você deseja pesquisar e substituir a palavra exata você por mim. Nesse caso, o seguinte comando seria usado:
: s/<tu> /eu/Ele encontrará a palavra você e a substituirá por mim. No entanto, ele não substituirá palavras como as suas.
Pesquisar e substituir palavras entre linhas particulares
Para pesquisar uma palavra entre as linhas específicas em vez de apenas uma linha ou o arquivo inteiro, a seguinte sintaxe pode ser usada:
:<linha de largada>,<fim da linha>s/<termo de pesquisa> /<substituir_term> /gPor exemplo, para pesquisar e substituir a ocorrência de Ubuntu por Debian de linhas que variam de 3 a 8 em algum arquivo, o comando seria:
:1, 10s/ubuntu/debian/gPara pesquisar e substituir a ocorrência de uma palavra da linha atual para o próximo número x de linhas, a seguinte sintaxe seria usada:
: s/termo de pesquisa/substituir_term/g xDa mesma forma, para pesquisar e substituir a ocorrência de uma palavra da linha atual até a última linha: a seguinte sintaxe seria usada:
:.,$ s/termo de pesquisa/substituir_term/gCONCLUSÃO
Neste artigo, aprendemos as duas formas de linha de comando de pesquisar e substituir qualquer palavra em um editor Vim. O primeiro comando que usava barra e ponto é o método mais simples e fácil, mas acaba sendo repetitivo quando você procura e substitui uma palavra que ocorre muitas vezes. O outro comando que é o comando de substituição uma vez pode parecer difícil e complexo, mas depois de começar a praticá-lo, você o achará extremamente útil em vários cenários.