2010-05-13 2 views
4

J'ai vimx installé, donc je peux copier dans vimx au presse-papiers x en utilisant "+y et similaires, ce qui fonctionne bien tant que je peux garder le vimx actuel fonctionnement.Vim (terminal) - copier dans x presse-papiers et coller tout en suspens

Cependant, j'aime aussi pouvoir passer au shell en cours avec ctrl-z et pouvoir coller ce que j'ai copié de vim dans le shell. Est-ce que quelqu'un sait comment faire cela, parce que dès que je suspendre vim avec ctr-z le x-presse-papiers devient vide, jusqu'à ce que je mette vim dans le fg à nouveau.

+0

Ce appartient à SuperUser –

+0

Je ne sais pas si cela fonctionne, mais vous pourrait essayer: sh au lieu de ctr-z. – Jay

+0

Oui j'ai essayé: sh, pas de chance. – ldog

Répondre

2

ok,

Après environ une heure de tête dénigrement cette question, j'ai décidé d'utiliser une approche différente de faire la même chose.

Je vais détailler ce que j'ai fait ici pour le bénéfice de ceux qui ont le même problème.

Si vous avez wxcopy sur votre système, cela suffit pour obtenir le support copier/coller sur votre système entre vim et d'autres applications. Si vous voulez copier à partir de vim, sélectionnez le texte en utilisant v ou V ou quelle que soit la méthode que vous préférez, puis utilisez la commande :tee >(wxcopy). Cela va copier ce code dans le tampon de coupe oldschool X11. Ce tampon a le bonus supplémentaire de ne pas exiger que l'application parente soit en cours d'exécution pour que le collage fonctionne, d'où mon problème disparaît.

Je me rends compte qu'il peut être difficile de mettre la main sur wxcopy, sous fedora le paquet qui le fournit est:

WindowMaker

+0

xclip devrait faire l'affaire et vous n'avez pas besoin d'installer WindowMaker. xclip est une belle petite application pour X11 et ne devrait pas dépendre de votre gestionnaire de fenêtres. Je ne savais pas à ce sujet avant, assez chouette en fait. – dlamotte

1

Ce n'est pas une réponse autant qu'un coup de pouce dans la bonne direction, mais commencez ici:

:help quoteplus 
:help x11-cut-buffer 

Plus précisément, le deuxième texte d'aide a quelques notes intéressantes sur la suspension vim. Il prétend écrire le tampon dans PRIMARY et CUT_BUFFER0 afin que vous puissiez toujours utiliser le clic du milieu après que vous avez suspendu. Peut-être que vous avez supprimé ceux-ci ou un plugin interfère? Peut-être que vous utilisez une ancienne version de vim (je cours 7.2.182).

Ma suggestion est de désactiver tous les plugins que vous avez installés manuellement et essayez vanilla vim. Si cela ne fonctionne pas, pensez à utiliser l'indicateur -V (verbose) de vim et voyez s'il essayera de placer le buffer dans PRIMARY ou CUT_BUFFER0 avant qu'il ne soit réellement suspendu.

Je n'ai pas vim compilé avec X (vimx) donc je ne peux pas réellement le tester moi-même. J'espère que cela vous met dans la bonne direction.

+0

Merci, j'ai lu attentivement cette section, et il semble que vim devrait être déplacer le tampon dans le X-clipoard juste avant qu'il ne soit suspendu ou indisponible, mais de toute façon ce n'est pas sur mon système. Soit la documentation est défectueuse ou quelque chose ne va pas avec mon lever. Je n'ai pas de plugins installés tout ce que je peux penser est que je pourrais faire quelque chose de drôle dans mon vimrc. – ldog

+0

@gmatt a-t-il révélé quoi que ce soit? à quoi ressemble votre .vimrc? – dlamotte

+0

désolé pour la réponse tardive, j'ai essayé vimx plain vanilla, pas de modifications à vimrc ou plugins, mais toujours obtenir le même problème, semble que la documentation est erronée. – ldog