Impossible de copier dans le presse-papiers depuis Vim

28

J'utilise Vim 7.3 sous Linux Mint 13 (en utilisant MATE) et je ne peux pas enregistrer de texte dans le presse-papiers du système. Je lance Vim dans le terminal et copie le texte du terminal avec CTRLINSERT. Lorsque je sélectionne du texte dans Vim (avec la souris ou en mode visuel), CTRLINSERTne copie aucun texte. De plus, lorsque je clique avec le bouton droit, Copier est grisé. De plus, je ne peux pas écrire dans le tampon système en tirant sur le registre correspondant à l'aide des commandes vim. Cependant, je suis capable de coller en mode insertion (en utilisant SHIFTINSERTou en cliquant avec le bouton droit sur coller). Je peux également copier du texte directement depuis le terminal en utilisant la même technique, mais pas le texte de Vim.

Voici mon ~ / .vimrc actuel . La partie pertinente est très probablement set clipboard=autoselect,unnamed,exclude:cons\|linux. Si je mets finishen haut de mon ~ / .vimrc, j'ai le même problème, donc je pense que la ligne est fausse, mais j'ai essayé set clipboard=unnamedet j'ai eu le même comportement.

Pourrait-il y avoir un autre fichier de configuration affectant le comportement de Vim? Comment puis-je changer mon ~ / .vimrc pour me permettre de copier du texte depuis Vim?

maksim
la source

Réponses:

55

Je pense que votre problème de copie est dû à:

mouse=a 

dans votre .vimrc Cela met votre vim en mode visuel chaque fois que vous sélectionnez quelque chose avec la souris. Et pour une raison folle, on n'est pas autorisé à copier en mode visuel. Vous pouvez le contourner en maintenant la touche Maj enfoncée lors de la sélection du texte pour ne pas passer en mode visuel vous permettant d'utiliser le menu de copie.

ou vous pouvez changer pour:

:set mouse=v

et la copie fonctionnera à nouveau. ajoutez-le à votre fichier ~ / .vimrc si vous voulez qu'il soit permanent


la source
2
Bien que cela puisse réellement résoudre leur problème, une explication de la raison pour laquelle cela fonctionne serait plus utile. Sans cela, votre réponse est simplement de dire à quelqu'un d' appuyer deux fois sur le bouton vert - Cela pourrait fonctionner, ce pourrait ne pas l'être, mais cela ne les éclairerait pas.
voretaq7
Merci, cela l'a résolu. L'explication que vous avez ajoutée après le commentaire de voretaq7 a également beaucoup aidé!
Cela fonctionne également pour Cygwin.
Dave Jarvis
1
Ce mode mettra tout en évidence, donc si je veux copier quelques lignes, je copie également les numéros de ligne et tout l'espace vide après chaque ligne jusqu'à la fin de l'écran. Existe-t-il un moyen de le faire uniquement sélectionner le contenu pertinent (comment fonctionne le surlignage quand mouse=a)?
Dennis
Bonne réponse. Juste un plus: plus de modes de souris ici:help mouse
Dr Beco
10

sudo apt-get install vim-gtk résoudra probablement ce problème pour les autres Googleurs.

Le bon vieux terminal de style terminal n'a pas accès au presse-papiers, qui fait partie du système X windows. L'installation vim-gtkdonne à vim l'accès dont il a besoin pour modifier et afficher le presse-papiers.

Cory Klein
la source
2
Travaux! Sur Debian Buster (actuellement en test), j'ai installé vim-gtk, puis ma ligne de commande vim dans xterm m'a permis d'utiliser les tampons *et +pour accéder aux tampons de la fenêtre x. L'installation de vim-gtk utilise les alternatives Debian pour définir vim -> /usr/bin/vim.gtk.
RobertL
0

Le terminal ne sait rien des sélections de Vim, alors ne vous attendez pas à ce que cela soit utile. Vous aurez besoin de vim pour être construit contre X (par exemple gvim -v), puis tirez et insérez-le dans le +registre.

Ignacio Vazquez-Abrams
la source
3
Le vim-gtkpaquet dans Ubuntu contient le support du presse-papiers (même lorsqu'il est exécuté comme vimdans un terminal).
mgorven
D'accord et confirmé sur Debian Buster (actuellement en test), j'ai installé vim-gtk puis ma ligne de commande vim dans xterm m'a permis d'utiliser les tampons * et + pour accéder aux tampons de la fenêtre x. L'installation de vim-gtk utilise les alternatives Debian pour définir vim -> /usr/bin/vim.gtk.
RobertL
0

juste gvimsur arch linux si quelqu'un veut savoir. Consultez également neovim(et python-neovim&& python2-neovimpour le support You Complete Me, etc.).

dylnmc
la source
Essayez d'utiliser gvim via ssh.
hopeseekr