Procura e Troca

O vi tem uma capacidade imensa para fazer procuras e trocas dentro de um arquivo. Para fazer uma procura de strings dentro de um arquivo aberto, tens que usar no modo comando (:), o comando “s” seguido de uma barra (/) e a seqüência de caracteres que queiras procurar. Depois que digitares tudo e a tecla ENTER, o sistema irá iluminar os lugares que a seqüência de caracteres for encontrada, se ela existir dentro do arquivo, é claro.

Então a sintaxe formal seria esta abaixo:

  :s/string

Por exemplo: vamos dizer que estejas procurando a palavra fusca dentro do seu texto, então digite o que mostro abaixo e aperte ENTER:

  :s/fusca

A primeira ocorrência da palavra “fusca” será iluminada dentro do seu texto. Se quiseres ver as demais ocorrências da mesma palavra, basta usar o comando “n”, assim o vi irá passar para a próxima ocorrência dentro do texto, se esta existir é claro.

Agora vamos para os exemplos de busca e troca. A sintaxe para fazer a troca de uma palavra por outra na linha atual dentro do seu arquivo é:

  :s/pattern/replace/

Aqui a palavra “pattern” representa a palavra antiga e “replace” representa a palavra nova. Vamos ao exemplo: para trocar cada ocorrência da palavra “carro” por “bicicleta” numa mesma linha, digite o seguinte:

  :s/carro/bicicleta/

Para fazer com que o vi troque todas as ocorrências da palavra por todo o texto carregado dentro do editor, a sintaxe é muito parecida, somente é necessário adicionar ao comando o caracter “%” a frente do comando “s”. Então a sintaxe formal para isso seria:

  :%s/pattern/replace/

Ou seja, usando o mesmo exemplo anterior, se fosse necessário realizar a troca em todo o arquivo usaríamos o seguinte comando abaixo:

  :%s/carro/bicicleta/