Comment puis-je facilement lister le contenu des registres avant de les coller?


10

J'utilise beaucoup les registres pour copier / coller, mais j'ai toujours oublié dans quel registre se trouve mon contenu.

Existe-t-il un moyen d'afficher les registres avant de les coller?

Idéalement, cela laisserait le registre à l'écran lors de la sélection de celui que nous voulons.

Réponses:


14

Ce plugin peekaboo est assez bon pour la prévisualisation des registres. Lorsque vous appuyez sur "ou @en mode normal, ou ctrl-ren mode insertion, une division s'ouvrira pour vous montrer le contenu du registre.

Aperçu du repo du plugin:

coucou


Ce plugin serait beaucoup moins désagréable si les raccourcis clavier étaient configurables par l'utilisateur. La liaison à "et @en mode normal interrompt à peu près toutes les macros qui utilisent des registres. FWIW.
Sato Katsura

Hmm, je n'ai pas de problèmes avec les macros récursives que j'ai tendance à utiliser, même avec les registres impliqués. Le plugin se désactive lors de la relecture des macros avec @. Le README note que les cartes non récursives causeront des problèmes. Je suis d'accord que ce serait bien s'il pouvait être configuré pour simplement afficher les registres.
Tommy A

Voici quelque chose de trivial qui se casse::%g/text/ normal "Ayy
Sato Katsura

Le plugin a été mis à jour pour utiliser un préfixe configurable. github.com/junegunn/vim-peekaboo/pull/41
Tommy A

6

J'ai fait ce mappage pour afficher la liste des registres et sélectionner celui à coller:

nnoremap "p :reg <bar> exec 'normal! "'.input('>').'p'<CR>

Ceci affiche la liste des registres avec :reget exécute la commande normale

"Xp 

Xest le résultat de input().


2

Je recommanderais d'utiliser

:reg

Il affichera le contenu de tous les registres (vous pouvez faire défiler en utilisant j et k).

Si vous souhaitez simplement afficher le contenu d'un registre, vous pouvez passer en mode commande et taper

: Ctrl + r

puis le registre, par exemple le registre x

x

qui va coller le contenu du registre dans la ligne de commande. Vous pouvez ensuite sortir de la ligne de commande après avoir consulté votre registre.


Quelle est la différence entre :diset :reg? J'utilise toujours l'ancien.
Philip Kearns

Aucun: :help :dis->:di[splay] [arg] Same as :registers. {not in Vi}
Boldewyn
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.