Vim - como substituir uma palavra no local?

1

Eu gostaria de substituir uma palavra no local. Por exemplo, depois de puxar alguma palavra pressionando yw e depois definir um cursor em alguma outra palavra, eu gostaria de pressionar algo para que a substituição aconteça. (por exemplo, SOME_KEYw onde w é realmente w e SOME_KEY é alguma chave). Eu gostaria que não gostasse de mudar para o Modo de Inserção.

Não estou interessado na solução :%s/oldword/newword/gc . Eu preciso de substituição in-loco interativa!

    
por psihodelia 03.12.2009 / 12:16

3 respostas

7

O que você está procurando está descrito em Vim Tip 605 .

Se você puxar a primeira palavra com yiw , você pode substituir outra palavra pela primeira, digitando viwp .

Se você deixar de fora o i , yw também irá arrancar o espaço em branco após a sua palavra e ao colá-lo, você terá muito espaço. Portanto, use i para selecionar a palavra i nner.

    
por 03.12.2009 / 13:38
3

Eu acredito que você queira cw < CTRL-R > 0

Isto deve ser digitado como c w ctrl + r 0 .

    
por 03.12.2009 / 12:34
1

Com base na resposta do innaM, com entrada mais curta:

Primeiro copie a primeira palavra com ye .

Em seguida, substitua qualquer outra palavra por essa palavra copiada anteriormente por vep .

O movimento e avança até o final da palavra [contagem], inclusive. Não pára em uma linha vazia.

    
por 24.12.2012 / 20:14

Tags