74 votes

vim coupe et colle l'historique

Lorsque je "coupe" dans vim, je crois qu'il y a des registres qui conservent un historique de toutes les choses récentes que j'ai coupées. Comment puis-je accéder à ces registres ?

Par exemple, disons que je coupe chacun de ces mots consécutivement

  • "Bonjour
  • "Monde
  • Et
  • Vim

Notez que je ne sauvegarde pas réellement ces modifications dans des registres particuliers, j'utilise simplement 'd' quatre fois de suite.

121voto

njd Points 10568

Le site

:help registers

révèle qu'il y a 10 registres numérotés ( "0 a "9 ).

Registre "0 est la chose la plus récente arraché ; registre "1 a le plus récent supprimé texte, registre "2 la suppression précédente, "3 a la suppression avant cela, et ainsi de suite.

Si vous supprimez chaque ligne successivement, les registres "1 , "2 , "3 y "4 contiendront respectivement "Vim", "And", "World" et "Hello".

Vous pouvez le vérifier en utilisant la fonction :reg (ou :registers ) :

:reg
""   Vim^J
"1   Vim^J
"2   And^J
"3   World^J
"4   Hello^J

Ainsi, après avoir supprimé les quatre lignes une par une, vous pourriez récupérer la 2ème ligne ("Monde") avec

"3p

parce que c'est la troisième suppression la plus récente.

9voto

Tim Cochran Points 804

En plus de la réponse de njd, ceci peut être simplifié avec le YankRing plugin. En plus de faciliter l'exploration des précédents yanks, vous pouvez configurer certaines touches pour vous permettre d'extraire les précédents yanks de la "pile". Ceci vous permet de faire :

yy    " Copy first line
yy    " Copy second line
yy    " Copy third line
yy    " Copy fourth line
" Assumes you've mapped ,p to be the pop command: choose your preferred key or key-combination
,p    " Paste fourth line and pop it off the Yank Ring
,p    " Paste third line and pop it off the Yank Ring
,p    " Paste second line and pop it off the Yank Ring
,p    " Paste first line and pop it off the Yank Ring

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