Respostas:
Muitas vezes me vejo querendo substituir uma palavra por outra que arranquei de outro lugar. O problema com as outras soluções é que se você tentar alterar uma palavra, então a sua próxima pasta vai ser essa palavra que foi eliminada com cw
.
Tente o seguinte:
1 "This first word should overwrite the second"
yiw yank inner word (copy word under cursor, say "first").
... Move the cursor to another word (say "second").
viwp select "second", then replace it with "first".
Espero que seja o que você estava procurando.
once
. Se eu tiver que substituir alguns dos second' by
primeiros` (no seu exemplo), a palavra copiada se tornará second
após a primeira substituição.
ciw
c change
iw inner word
Isso excluirá a palavra sob o cursor (mesmo se o cursor estiver em algum lugar no meio da palavra) e entrará no modo de inserção.
Consulte também a documentação do Vim para referência:
:help c
:help text-objects
Se você deseja alterar uma palavra com uma palavra arrancada anteriormente, existe outra solução viwp
(depois de ter arrancado a primeira palavra).
ciw
remove a palavra anterior e coloca você no modo de inserção onde estava. Mas então você pode usar ctrl+r, 0
para inserir o conteúdo do registro 0 (que contém a palavra arrancada anteriormente).
Assim:
yiw
[move to next word]
ciw
ctrl+r
0
Isso funciona melhor do que viwp
porque, após o primeiro uso, você pode executar a substituição repetidamente .
. Também não muda para o modo visual e destaca brevemente.
viwp
) pode ser feito várias vezes com apenas um puxão. Obrigado!
viwp
- nem sequer .
a duplica.
.
com isso é ótima!
Tente cw
- como em 'alterar palavra'.
Use http://linuxmoz.com/vi-commands-cheat-sheet/ ou qualquer outra folha de dicas como referência.
/usr/bin/bash
ou1222.333
)? Parece que o vim interpreta/
e.
no final da palavra e não seleciona a sequência inteira.