remplacer mot sous curseur – Vim

Comment remplacer un mot sous le curseur dans Vim.

Donc, au lieu d’utiliser dw alors i puis le mot puis Esc , y a-t-il une combinaison plus simple pour remplacer le mot sous le curseur?

 ciw 

(changer le mot interne) changera le mot entier sous le curseur. Comparer avec

 cw 

qui ne changera que le mot de la position actuelle du curseur . Pour plus d’informations, voir cette question / réponse SO .

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

c i w

 c change iw inner word 

Cela supprimera le mot sous le curseur (même si le curseur se trouve au milieu du mot) et passe en mode insertion.


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

 :help c :help text-objects 

Si vous voulez changer un mot avec un mot précédemment tiré, il y a une autre solution à viwp (une fois que vous avez tiré le premier mot).

ciw supprime le mot précédent et vous met en mode insertion là où il était. 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 

Je préfère légèrement cela à viwp car il ne passe pas en mode visuel et en surbrillance.

Essayez cw – comme dans ‘change word’.

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