Editando em modo de comando

Last updated 7 months ago

Para mover um trecho usando o modo de comandos faça:

:10,20m $

O comando acima move m da linha 10 até a linha 20 para o final $.

:g /palavra/ m 0

Move as linhas contendo ‘palavra’ para o começo (linha zero)

:10,20y a

Copia da linha ‘10’ até a linha ‘20’ para o registrador ‘a’

:56pu a

Cola o registrador ‘a’ na linha 56

:g/padrão/d

O comando acima deleta todas as linhas contendo a palavra ‘padrão’.

Podemos inverter a lógica do comando global g:

:g!/padrão/d

Não delete as linhas contendo padrão, ou seja, delete tudo menos as linhas contendo a palavra ‘padrão’.

:v/padrão/d ........ apaga linhas que não contenham "padrão"
:v/\S/d ............ apaga linhas vazias
\S ................. significa "string"

A opção acima equivale a :g!/padrão/d. Para ler mais sobre o comando “global” utilizado nesta seção veja o capítulo O comando global "g".

:7,10copy $

Da linha 7 até a linha 10 copie para o final. Veja mais sobre edição no modo de comando no capítulo Buscas e Substituições.

Gerando sequências

Para inserir uma sequência de 1 a 10 à partir da linha inicial “zero” fazemos:

:0put =range(1,10)

Caso queira inserir sequências como esta:

192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5

Usamos este comando:

:for i in range(1,5) | .put ='192.168.0.'.i | endfor