web-dev-qa-db-fra.com

Vim Copy-Coller à travers les terminaux

Le Vim habituel yank et paste ne fonctionne que dans la même fenêtre (mais fonctionne dans des fichiers et des commandes fermer/sauvegarder). Est-il possible de le faire fonctionner à travers les bornes (de la fenêtre de la fenêtre dans un terminal et de la pâte dans une autre) et si oui, comment?

20
JP19

Probablement la chose la plus simple pour vous d'essayer est de mettre set clipboard=unnamed dans ton .vimrc et redémarrez vos sessions VIM.

Cela vous permet d'exécuter yank (par exemple, yy) dans une fenêtre et put (par exemple, p) dans une autre fenêtre fonctionnera, car toutes les sessions Vim partagera le même tampon de sélection X.

À l'inconvénient, votre tampon Yank sera écrasé dès que vous sélectionnez du texte dans n'importe quelle autre fenêtre de n'importe quelle application.

À la hausse, cela signifie également tout ce que vous avez utilisé dans Vim peut maintenant être collé dans n'importe quelle application par clic majeur.

Si vous n'aimez pas cela, vous pouvez taper "+ ou alors "* Avant vos commandes Yank et Mettez, par exemple "+yy faire une ligne.

Le + Les formulaires interagissent avec le presse-papiers ("+y est comme Ctrl+C, "+p est comme Ctrl+V).
Le * Les formulaires interagissent avec le tampon de sélection ("*y est comme le clic gauche et glisser, "*p est comme le milieu clic).

Voir Faire des sélections d'interface graphique , Support de sélection X11 et le presse-papier et souris Options pour plus de détails.

30
Mikel

Si vous souhaitez copier un fichier entier dans votre fichier cible.

Ouvrez votre fichier cible dans Vim.

Placez votre curseur où vous le souhaitez et tapez ce qui suit:

:r /path_to_file/file.ext

Cela copiera un fichier entier sur l'endroit où votre curseur est ...

0
no1uknow