Otimizando o que @MattObert disse:
- y 3 i w
-
/
red dog
Digite - c 3 i w Ctrl-r 0 Esc
- n . etc.
Em detalhes:
-
y 3 i w yanks
philosophical chicken
; isto é marginalmente melhor que y 2 W porque o último inclui um espaço à direita; a parte i w também garante que o yank ainda funcione quando você começa com o cursor no meio da primeira palavra, em vez de no começo -
/
red dog
Enter localiza o primeirored dog
-
c 3 i w apaga
red dog
(novamente, sem o espaço final) e alterna para o modo de inserção -
Ctrl-r 0 pastas do registro
0
(cf.:h i_CTRL-R
e:h quote0
) - Esc muda para o modo normal
-
n . localiza o próximo
red dog
e reproduz a última operação (ou seja, substitui-a porphilosophical chicken
) - repita n . conforme necessário.
O primeiro truque é que os yanks são salvos automaticamente para registrar 0
. O segundo truque é que você pode colar registradores no modo de inserção com Ctrl-r .
Outras coisas que ajudariam você:
- ativar números de linha:
:setlocal relativenumber! number!
(execute-o novamente para desativá-lo) - mesma coisa que uma macro:
nnoremap <silent> <Leader>, :setlocal relativenumber! number!<CR>
- use os desvios de linha em relação à linha do cursor:
:.,+6 s/.../.../
- substituir por confirmação:
:%s/red dog/philosophical chicken/gc
Dê uma olhada nos Vimcasts de Drew Neil para outros truques semelhantes. Também considere postar perguntas relacionadas ao Vim no site do Vi .