Je peux attraper un fichier, copier et coller du texte avec le bouton central ou l'insertion Maj.
Comment puis-je copier du texte dans vim et le coller depuis le presse-papiers du système?
:!sed -n 5,10p %
:!cat %
Je peux attraper un fichier, copier et coller du texte avec le bouton central ou l'insertion Maj.
Comment puis-je copier du texte dans vim et le coller depuis le presse-papiers du système?
:!sed -n 5,10p %
:!cat %
Réponses:
Vous devez avoir Vim avec les clipboardet xtermclipboardfonctionnalités compilées. Dans Ubuntu, ceux - ci ne sont disponibles qu'avec les packages de l' interface graphique (vim vim-gnome, vim-gtk, vim-athena, etc.).
Une fois que vous en avez installé un, vous pouvez copier (et coller) dans les registres du presse-papiers ( *et +). De ce post très instructif sur Vi et Vim :
Pour les systèmes basés sur X11 (c.-à-d. Linux et la plupart des autres systèmes de type UNIX ), il existe 2 presse-papiers indépendants les uns des autres:
- PRIMARY - Il s'agit d'une copie sur sélection et peut être collée avec le bouton central de la souris.
- CLIPBOARD - Ceci est copié avec (généralement)
^Cet collé avec^V(c'est comme MS Windows).
Vim dispose de 2 registres spéciaux correspondant à ces presse-papiers:
*utilise PRIMARY; mnémonique: s goudron est s élisent (pour la copie-on- s élisent)+utilise CLIPBOARD; mnémonique: CTRL + C (pour le raccourci clavier commun)
Pour copier dans un registre, vous faites précéder la commande de copie ( y) avec "et le nom du registre ( *, par exemple). "*y, puis cliquez avec le bouton central pour coller, ou "+yet ShiftInsertpour coller.
Une solution assez intéressante vient de cette question. Installez xclip, puis dirigez la sortie d'une commande vers xclip ( cat file | xclip -selection clipboardpar exemple), puis collez-la n'importe où (si c'est dans le terminal - utilisez Ctrl ShiftV
). Maintenant, il s'avère que vous pouvez réellement raccourcir cette commande xclip -sel clip, ce qui n'est pas exactement apparent à la lecture de la page de manuel ou des exemples.
/dev, mais le texte se trouve toujours quelque part, non?
J'ai eu un problème car mon vim ne supportait pas le presse - papiers :
vim --version | grep clip
-clipboard +insert_expand +path_extra +user_commands
+emacs_tags -mouseshape +startuptime -xterm_clipboard
J'ai installé vim-gnome (qui prend en charge le presse-papiers), puis vérifié à nouveau:
vim --version | grep clipboard
+clipboard +insert_expand +path_extra +user_commands
+emacs_tags +mouseshape +startuptime +xterm_clipboard
Maintenant, je peux copier et coller en utilisant respectivement "+ y et" + p.
sed -n5,10ppour imprimer les lignes 5-10 afin que je puisse plus facilement copier et coller sans que vim réagisse à la souris.