Vim é um editor de texto avançado e popular que vem pré-instalado na maioria das distribuições Linux. É um editor de texto baseado em linha de comando que é principalmente utilizado em sistemas operativos não baseados em GUI. É altamente configurável e vem com muitas características. Um ponto significativo em relação ao Vim é que é altamente optimizado para repetição.
Neste artigo, vamos explicar uma das suas características mais úteis que é pesquisar e substituir. Com um punhado de configurações, pode pesquisar tudo o que quiser, à velocidade de combustão e com granularidade mais fina.
Método #1 Encontrar e substituir uma ocorrência de cada vez (Usando o comando slash e ponto)
A forma mais simples de pesquisar e substituir uma palavra em Vim é usando o comando slash e ponto. A barra oblíqua (/) pode ser usada para procurar uma palavra enquanto o ponto (.) pode ser usado para substituir essa palavra.
Seguir os passos simples abaixo para procurar e substituir qualquer palavra no editor Vim:
- Abrir o ficheiro em Vim
- Pressionar a tecla slash (/) juntamente com o termo de procura como “/ search_term” e premir Enter. Irá destacar a palavra seleccionada.
- depois carregar na tecla cgn para substituir a palavra destacada e introduzir o termo_substituir
- voltar ao modo normal. Em seguida, prima “n” para passar à próxima ocorrência do termo de pesquisa.
- A seguir, prima o ponto (.) se quiser substituir a próxima ocorrência pelo mesmo termo_substituto, caso contrário prima novamente a tecla “n” para passar à próxima ocorrência.
É o método mais rápido e melhor para a pesquisa básica e substitui funções uma vez que envolve apenas alguns toques de tecla e menos perturbações no seu trabalho actual. Contudo, para procurar uma palavra que ocorre demasiadas vezes, tornar-se-á uma tarefa repetitiva e demorada.
Com Vim, há outra forma melhor de evitar esta tarefa repetitiva que é usar o comando substituto.
Método #2 Encontrar e Substituir usando o comando Substituto
O comando substituto pode ser usado para executar a pesquisa básica a avançada e substituir funções por um único comando. A sintaxe para este comando é:
Nota que tem de introduzir este comando no modo normal.
onde
- S: significa substituir
- replace_term: a palavra com a qual deseja substituí-la por
- Option: c (para confirmação), g (substituir toda a ocorrência numa linha), i (por ignorar o caso)
li>search_term: a palavra que deseja pesquisar e substituir
Search and Replace
Para efectuar a pesquisa básica e substituir usando o comando substituto, use a seguinte sintaxe:
Este comando substituirá todas as instâncias de pesquisa_term pelo substituto_term.
Por exemplo, este é o nosso texto de amostra:
“Ubuntu é um dos SO Linux mais utilizados. O Ubuntu inclui milhares de programas úteis. Com a linha de comando do Ubuntu, é possível realizar quase qualquer tipo de tarefa”.
Para substituir cada ocorrência de “Ubuntu” por “Debian” no texto seguinte, seria utilizado o seguinte comando:
Procurar e Substituir numa única linha
Para procurar e substituir a ocorrência de uma palavra apenas numa única linha em vez de todo o ficheiro, utilizar a seguinte sintaxe:
Por exemplo, para substituir a ocorrência de Ubuntu por Debian no texto de amostra acima indicado, seria utilizado o seguinte comando sem o símbolo %:
Procurar e Substituir por Confirmação
Se quiser que lhe seja pedida confirmação antes de substituir o termo de pesquisa, utilize “c” no final do comando de pesquisa como se segue:
O comando acima pedirá confirmação antes de cada substituição (Digite y para sim enquanto n para não).
Procura e Substituição insensível a casos
Quando se efectua a procura e substituição em Vim, por defeito é sensível a maiúsculas e minúsculas. Pode efectuar uma pesquisa insensível a maiúsculas e minúsculas adicionando “i” no fim do comando da seguinte forma:
por exemplo, para procurar o termo “Ubuntu” independentemente do seu caso (UBUNTU, Ubuntu, ubuntu, uBuntu), seria utilizado o seguinte comando:
Procurar e substituir a palavra inteira
Por defeito, o comando substituto procura qualquer correspondência, seja parcial ou completa. A fim de fazer corresponder a pesquisa exacta_term e depois substituí-la pelo termo_substituto, anexar a pesquisa _term dentro do “<>”.
Por exemplo, em alguns documentos, pretende pesquisar e substituir a palavra exacta “você” por “eu”. Nesse caso, seria utilizado o seguinte comando:
Encontrará a palavra “você” e substituí-la-á por “eu”. No entanto, não substituirá as palavras como “seu”.
Procura e Substitui Palavras entre Linhas particulares
Para procurar uma palavra entre as linhas particulares em vez de apenas uma linha ou o ficheiro inteiro, pode ser usada a seguinte sintaxe:
por exemplo, para procurar e substituir a ocorrência do Ubuntu por Debian de linhas que vão de 3 a 8 em algum ficheiro, o comando seria
para procurar e substituir a ocorrência de uma palavra da linha actual para o próximo x número de linhas, seria utilizada a seguinte sintaxe:
Simplesmente, para procurar e substituir a ocorrência de uma palavra da linha actual para a última linha: seria utilizada a seguinte sintaxe:
CONCLUSION
Neste artigo, aprendemos as duas formas de linha de comando para pesquisar e substituir qualquer palavra num editor Vim. O primeiro comando que utilizava a barra e o ponto é o método mais simples e fácil, mas acaba por ser repetitivo quando se está a pesquisar e a substituir uma palavra que ocorre demasiadas vezes. O outro comando que é o comando de substituição uma vez pode parecer difícil e complexo, mas uma vez que se começa a praticá-lo, achá-lo-á extremamente útil em múltiplos cenários.