Jessaye de copier-coller du texte de vim. Je « fais v pour passer en mode visuel, puis y une fois que jai sélectionné mon bloc.

Il semble copier le texte dans le presse-papiers de vim, parce que p le collera. Mais dans un autre programme (par exemple Chrome), un clic droit-> coller ne colle pas le texte correct. Comment copier du texte dans le bon presse-papiers?

Réponse

Ce qui suit ne fonctionnera que si vim --version indique que vous disposez de la fonctionnalité +xterm_clipboard. Sinon, vous devrez installer des packages supplémentaires ou recompiler vim avec cette fonctionnalité ajoutée.


Il existe en fait deux options pour cela:

"+y 

copie dans le tampon du presse-papiers « habituel » (vous pouvez donc coller en utilisant Ctrl + V, cliquez avec le bouton droit et sélectionnez « Coller », etc.), tandis que

"*y 

copie dans la sélection X11 – vous pouvez coller à partir de ce tampon en utilisant le clic central.

Notez que "* et "+ fonctionne dans les deux sens. Donc, si vous avez sélectionné du texte dans une autre application, vous pouvez le coller dans vim en utilisant "*p et si vous avez copié du texte (en utilisant, par exemple, Ctrl-C), vous pouvez le coller dans vim en utilisant "+p.

Commentaires

  • @Tshepang il ne fonctionne pas avec putty. que dois-je faire?
  • @RahulPatil Je ne sais pas; peut-être poser une question distincte, peut-être sur le Super utilisateur (puisquil ‘ un outil Windows, ce serait plus le bienvenu là).
  • @RahulPatil – si vous utilisez putty, vous éditez le fichier sur un serveur distant, pas sur votre machine locale. Généralement, le serveur distant ne connaît ‘ pas le presse-papiers de votre machine locale. Si vous utilisiez un bureau Linux, vous pouvez ssh avec le transfert X (à condition que vous ayez installé les bibliothèques X sur le serveur), mais comme putty fonctionne sous Windows, vous n’avez pas ‘ X en cours dexécution afin que vous puissiez ‘ t le transmettre.
  • Bonjour à tous, Comment taper  » + y? dois-je le taper en mode visuel ou en mode commande? Chose idiote, mais je suis incapable de le comprendre.
  • @AlindBillore: En mode commande. Littéralement, appuyez sur les touches shift' puis shift= puis y (pas tout à la fois, un après lautre, sauf les décalages bien sûr).

Réponse

Si vous utilisez vim> = 7.3 .74, alors vous pouvez effectivement mettre ceci dans votre vimrc:

set clipboard=unnamedplus 

qui utilisera automatiquement le tampon + (le presse-papiers système) par défaut. Ensuite, pour copier (copier), il vous suffit dutiliser la commande y régulière, etc.

Jai trouvé ce comportement assez ennuyeux, cependant, comme des commandes comme d mettre le texte sur lequel ils opèrent dans la mémoire tampon par défaut, ce qui signifiait que je ne pouvais pas faire un rapide dd et coller une ligne depuis Internet , par exemple.

Commentaires

  • + est un enregistreur de presse-papiers
  • Concernant votre dernier point, dd signifie  » couper une ligne « , ce serait donc le comportement attendu. Dans les rares cas où vous le souhaitez pour supprimer réellement une ligne dans loubli, "_dd fera laffaire.
  • également comme @HamishDowner le note dans sa réponse: Ce qui suit ne fonctionnera que si vim --version indique que vous avez +xterm_clipboard fonctionnalité. Sinon, vous devrez installer des packages supplémentaires ou recompiler vim avec cette fonctionnalité ajoutée.

Réponse

Maintenez la touche Maj et sélectionnez le texte avec le curseur de la souris.
Le texte sera copié dans le presse-papiers.

Cela fonctionne également pour coller depuis le presse-papiers dans vim.

Pour être clair, cela fonctionne pour vim fonctionnant dans un terminal tel que xterm.

Commentaires

  • @LoopSpace pour les sélections multilignes, cela copiera également les numéros de ligne lorsque set nu est activé . Donc, vous voudrez probablement basculer les numéros de ligne avec un raccourci ou exécuter la commande :set nonu avant chaque sélection
  • Sur MAC, maintenez la touche Option et sélectionnez le texte avec le curseur de la souris
  • Ne ‘ ne fonctionne pas pour moi en utilisant vim 8.0 + gnome-terminal
  • Solution non compatible avec des termes à plusieurs volets comme tmux.
  • Ceci ne copie pas dans le presse-papiers, ceci copie dans le primaire .Voir la distinction dans article du wiki Clipboard Arch .

Réponse

Je trouve les commandes standard "+gP et "+y très difficiles à utiliser. Je « ai donc remappé Ctrl-Y pour le copier dans le presse-papiers et Ctrl-P pour coller à partir du presse-papiers. Ajoutez ceci à .vimrc

nnoremap <C-y> "+y vnoremap <C-y> "+y nnoremap <C-p> "+gP vnoremap <C-p> "+gP 

Réponse

Quand jai vérifié 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 

Jai installé vim-gnome 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.

Réponse

Peu importe, Jai trouvé la réponse – elle est écrite dans les menus de vim.

"+y 

Très intuitif.

Commentaires

  • Utilisez-vous gvim?
  • @ nozimica- ouais
  • Cest ‘ est également disponible dans vim fonctionnant dans un xterm ou un émulateur de terminal similaire sous X (si vim est compilé avec la fonctionnalité +xterm_clipboard).

Réponse

Juste pour ajouter une réponse non spécifique à vim: vous pouvez utiliser Ctrl+Shift+C pour copier dans le presse-papiers système dans Ubuntu (si la fonctionnalité est fournie par votre émulateur de terminal, gnome-terminal pour un le fournit). Ctrl+Shift+V colle à une autre fenêtre de terminal, Ctrl+V se colle à une application GUI.

De plus, si vous sélectionnez le texte dans le terminal, puis cliquez avec le bouton central, il sera collé à partir du presse-papiers X11.

Commentaires

  • Pour une raison quelconque, il ne ‘ t fonctionne. Sélectionnez simplement avec le mode visuel, copiez avec ctrl-shift-C, puis collez dans une autre application en utilisant Ctrl-shift-V? Le texte ‘ nest pas copié pour moi.
  • @ ripper234: cela ne fonctionne pas si vous utilisez gvim. Comme le dit crazy2be, cette fonctionnalité provient de votre émulateur de terminal.
  • @ ripper234: 1) Cest une fonctionnalité fournie par votre émulateur de terminal (gnome-terminal pour lun le fournit), 2) Ctrl + Shift + V est pour coller dans le terminal , les applications GUI utilisent toujours Ctrl + V comme dhabitude. Je ‘ modifierai la réponse pour la rendre plus claire.
  • si vous utilisez la souris à contrôle par décalage – sélectionnez du texte, copier-coller à partir dune fenêtre de tampons devient facile.

Réponse

Maintenez la touche SHIFT enfoncée et sélectionnez le texte avec la souris pour le copier.

Puis collez dans un autre programme avec CTRL + v.

Fonctionne en terminal sur mon Ubuntu 16.04. Je ne suis pas sûr de gvim et dautres systèmes.

entrez la description de limage ici

Commentaires

  • Cela ne fonctionne pas.
  • réponse créative

Réponse

Par défaut, si vous installez la version allégée de vim, vous naurez pas le +xterm_clipboard sur (vim --version | grep xterm), qui est nécessaire pour utiliser * et + senregistre en dehors de vim.

Pour lactiver, vous devez soit compiler vim vous-même, soit installer une version de vim qui laccompagne est préenregistrée. Jai utilisé vim-gnome: sudo apt-get install vim-gnome. Si vous effectuez vim --version | grep xterm, vous verrez que cest maintenant +xterm_clipboard.

Maintenant, essayez de copier vers le + et * et cela devrait fonctionner.

Réponse

Juste pour ajouter, si quelque chose fonctionne, essayez de changer le terminal qui encapsule vim (si vous utilisez vim depuis le terminal). Jai trouvé que, par exemple, le presse-papiers est inaccessible par guake alors quil est accessible depuis gnome-terminal.

Réponse

Pour Ubuntu 14.04 Et ci-dessus:

  • Sélectionnez simplement le texte que vous voulez copier. Cliquez ensuite sur le bouton central avec votre souris et accédez au presse-papiers

  • Et là aussi, faites la même chose (cliquez sur le bouton central avec votre souris).

Cela fonctionne à 100% dans les deux vim et tail sur Ubuntu.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *