51 votes

Comment copier la sortie d'une commande dans vim ?

Par exemple, si je tape ' :pwd ' pour obtenir le répertoire de travail actuel, je peux sélectionner le texte dans gvim mais je n'arrive pas à comprendre comment le copier dans le presse-papiers. Si j'essaie de faire la même chose dans vim console, je ne peux même pas le sélectionner avec la souris. J'aimerais que cela fonctionne avec toutes les commandes de vim, telles que set guifont pour copier le guifont=Consolas:h10:cANSI de la production.

60voto

vipin sahu Points 35

Vous cherchez ceci ?

:redir @* | set guifont | redir END

:redir redirige la sortie d'une commande vers un registre (@*). Le registre @* fait référence au presse-papiers.

Pour plus d'informations à ce sujet,

:help :redir

18voto

Mark Points 251

Essayer ' :r !pwd ' pour obtenir le répertoire de travail actuel directement dans le fichier ouvert par GVIM.
Vous pouvez ensuite le copier dans le presse-papiers comme vous le feriez pour n'importe quel autre fichier texte ouvert.

5voto

Unnati Gutpa Points 11

Si vous exécutez vim dans un xterm, le fait de maintenir la touche majuscule enfoncée tout en sélectionnant le texte copiera ce dernier dans l'équivalent X du presse-papiers.

5voto

Pour cet exemple particulier, vous pourriez faire (notez le " !" qui le fait passer par le Shell) :

:!pwd | xclip

o

:!pwd | xclip -selection secondary

(en fonction de la sélection X souhaitée).

Il se peut que vous deviez d'abord installer xclip

sudo apt-get install xclip

(ou équivalent)

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