quinta-feira, 5 de fevereiro de 2009

Mudando várias linhas que são separadas uma das outras

Os comandos com intervalos tem uma deficiência: só mudam linhas que sejam
contíguas uma das outras.

Por exemplo, se quiser mudar todas linhas que tenham um determinado padrão você
terá que usar outro comando: o comando ':global'.

O comando ':global' executa 2 passos sobre um intervalo de linhas (default todo arquivo: 1,$).

Na 1ª passagem cada linha é comparada com um padrão e se tiver sucesso ela é
marcada. Na 2ª passagem, a cada linha marcada, se executa o comando.

Exemplo:
Selecionar todas as linhas que tenham o padrão (comentário C) e depois fazer uma substituição de string nessas linhas.

Faça isso:
:g+//+s+abc+cba+g
:g - localize, marque e execute
// - o string '//'
s - substitua
+ - separador usado no lugar de '/' para maior visibilidade.
O comando:
:global!
aplica o comando a todas linhas que 'não' tenham ocorrências com o dado padrão.

0 comentários:

Postar um comentário