web-dev-qa-db-fra.com

Comment remplacer un seul mot sous le curseur?

Comment remplacer un mot sous le curseur dans Vim.

Ainsi, au lieu d'utiliser dw puis i puis le mot, puis Esc, existe-t-il une combinaison plus simple pour remplacer le mot sous le curseur?

121
sayth
ciw

(changer le mot intérieur) changera le mot entier sous le curseur. Comparer avec

cw

ce qui changera seulement le mot de la position actuelle du curseur . Pour plus d'informations, voir this SO question/réponse.

209
Brian Agnew

Je me retrouve souvent à vouloir remplacer un mot par un autre que j'ai tiré ailleurs. Le problème avec les autres solutions est que si vous essayez de changer un mot, votre prochain collage sera soit le mot que vous avez supprimé avec cw.

Essayez ce qui suit:

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". 

J'espère que c'est ce que vous cherchiez.

74
Ethereal

ciw

c   change
iw  inner Word

Ceci supprimera le mot sous le curseur (même si le curseur est quelque part au milieu du mot) et passera en mode insertion.


Consultez également la documentation de Vim pour référence:

:help c
:help text-objects
30
Xophmeister

Si vous souhaitez modifier un mot avec un mot précédemment extrait, il existe une autre solution à viwp (une fois que vous avez extrait le premier mot).

ciw supprime le mot précédent et vous place en mode insertion à l'endroit où il se trouvait. Mais alors vous pouvez utiliser ctrl+r, 0 pour insérer le contenu du registre 0 (qui contient le mot précédemment extrait).

Alors:

yiw
[move to next Word]
ciw
ctrl+r
0

Cela fonctionne mieux que viwp car après la première utilisation, vous pouvez effectuer le remplacement de manière répétée avec .. De plus, il ne bascule pas en mode visuel et met en évidence brièvement.

10
connor

Essayez cw - comme dans 'changer le mot'.

Utilisez http://linuxmoz.com/vi-commands-cheat-sheet/ ou tout autre aide-mémoire comme référence.

1
Kosma Dunikowski