Je peux lire un fichier, copier et coller du texte avec le bouton central ou insérer une insertion.
Comment puis-je copier du texte dans vim et le coller à partir du presse-papiers du système?
Vous devez disposer de Vim avec les fonctions clipboard
et xtermclipboard
compilées. Dans Ubuntu, elles ne sont disponibles qu'avec les packages de l'interface graphique de vim (vim-gnome
, vim-gtk
, vim-athena
, etc.).
Une fois que vous avez installé l’un d’eux, vous pouvez copier (et coller depuis) les registres du presse-papiers (*
et +
). De ce post très informatif sur Vi et Vim :
Pour systèmes basés sur X11 (c'est-à-dire Linux et la plupart des autres UNIX - comme les systèmes), il y a 2 presse-papiers indépendants les uns des autres:
- PRIMAIRE - Ceci est une copie sur sélection, et peut être collé avec le bouton central de la souris.
- CLIPBOARD - Ceci est copié avec (généralement)
^C
et collé avec^V
(c'est comme MS Windows).Vim a 2 registres spéciaux correspondant à ces presse-papiers:
*
utilise PRIMARY; mnémonique: s tar est s choisir (pour copie sur ( s élire)+
utilise CLIPBOARD; mnémonique: CTRL + C (pour le raccourci clavier commun)
Pour copier dans un registre, vous devez faire précéder la commande de copie (y
) par "
et le nom du registre (*
, par exemple). "*y
, puis cliquez avec le bouton du milieu pour coller, ou "+y
et ShiftInsert coller.
Une solution assez intéressante vient de this question. Installez xclip, puis dirigez la sortie d'une commande vers xclip (cat file | xclip -selection clipboard
par exemple), puis collez-la n'importe où (si c'est dans terminal - use CtrlShiftV ). Maintenant, vous pouvez raccourcir cette commande en xclip -sel clip
, ce qui n’apparaît pas à la lecture de la page de manuel ou des exemples qui y figurent.
J'ai eu un problème parce que mon vim ne supportait pas 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 supporte 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 "+ y et" + p respectivement.