Edição avançada de linhas
Seja o seguinte texto:
1 este é um texto novo
2 este é um texto novo
3 este é um texto novo
4 este é um texto novo
5 este é um texto novo
6 este é um texto novo
7 este é um texto novo
8 este é um texto novo
9 este é um texto novo
10 este é um texto novo
é um texto da linha 5 até o
fim (linha 10). Isto pode ser feito assim:
:5,$ normal 0wd3w
| Comando | Descrição |
|---|---|
:5,$ |
indica o intervalo que é da linha 5 até o fim '$' |
normal |
executa em modo normal |
0 |
move o cursor para o começo da linha |
w |
pula uma palavra |
d3w |
apaga 3 palavras 'w' |
Obs: É claro que um comando de substituição simples, como:
:5,$s/é um texto//g
i ou a e
retornar ao modo normal, bastando para isso usar o recurso Ctrl-v Esc,
de forma a simular o acionamento da tecla Esc (saída do modo de
inserção). Por exemplo, suponha agora que deseja-se mudar a frase
este é um texto novo para este não é um texto velho; pode ser feito assim:
:5,$ normal 02winão ^[$ciwvelho
| Comando | Descrição |
|---|---|
:5,$ |
indica o intervalo que é da linha 5 até o fim '$' |
normal |
executa em modo normal |
0 |
move o cursor para o começo da linha |
2w |
pula duas palavras (vai para a palavra "é") |
i |
entra no modo de inserção |
não |
insere a palavra "não" seguida de espaço " " |
^[ |
sai do modo de inserção (através de Ctrl-v seguido de Esc) |
$ |
vai para o fim da linha |
ciw |
apaga a última palavra ("novo") e entra em modo de inserção |
velho |
insere a palavra "velho" no lugar de "novo" |
A combinação Ctrl-v é utilizada para inserir caracteres de controle na
sua forma literal, prevenindo-se assim a interpretação destes neste
exato momento.