4 votes

Comment puis-je copier le mot que je suis en train de taper (sans changement de mode...) ?

Parfois, je veux définir une marque de départ puis taper un mot (généralement un long nom de variable), après avoir terminé le mot, je peux définir une marque de fin. Je peux alors obtenir le mot stocké dans mon registre afin de pouvoir le coller sans mouvement supplémentaire, changement de mode, etc.

Comment puis-je faire ça ? Ou existe-t-il une meilleure "méthode vim" pour obtenir le même effet ?

Merci.

4voto

kev Points 11612

Sur INSERT vous pouvez utiliser Ctrl-N o Ctrl-P pour déclencher l'autocomplétion.
C'est très utile lorsque vous devez retaper des mots longs.

2voto

sgx1 Points 902

Utilisez m y y .

  1. Type Ctrl + O (sortie du mode insertion pour 1 commande)
  2. Type mk pour mettre un marqueur k à votre emplacement actuel
  3. Tapez votre mot
  4. Type Ctrl + O
  5. Type y`k pour arracher du marqueur k à votre emplacement actuel

http://www.marksanborn.net/software/using-markers-in-vim/

2voto

TenNineAce Points 263

Les deux mappings suivants vous permettent d'enregistrer n'importe quel morceau de texte que vous tapez en mode insertion, pas nécessairement un seul mot, et de le sauvegarder dans un registre. o .

inoremap <C-K> <C-O>qo
inoremap <C-L> <Esc>q:let @o=@o[:-2]<CR>a

Démarrer l'enregistrement avec CtrlK et terminez l'enregistrement par CtrlL . Coller le texte enregistré en mode insertion avec CtrlR o .

0voto

jopa Points 800

Avec <C-o> vous pouvez quitter temporairement le mode insertion pour une seule commande. Vous pouvez alors émettre une yiw (yank inner word), et faire en sorte que le dernier mot que vous avez tapé soit le mot par défaut (ou tout autre mot que vous spécifiez avec la commande "x ).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X