0 votes

Copier et coller entre les panneaux tmux contenant des instances vim via SSH dans Terminal.app

J'utilise vim pour développer du code Perl sur une boîte Linux distante fonctionnant avec Debian Jesse. La machine est une machine virtuelle tournant dans VirtualBox. J'utilise ssh et ensuite j'émet une commande vim pour commencer à éditer le fichier.

J'ai expérimenté avec tmux sur la machine distante pour voir si cela me plaît. Mais je n'arrive pas pour ma vie à comprendre comment copier et coller du texte entre les instances vim dans deux panneaux tmux différents. Je préférerais pouvoir utiliser à la fois la souris et les raccourcis vim-like (yy, dd p) pour faire cela.

J'ai essayé presque toutes les recommandations disponibles pour essayer de faire fonctionner cela mais je n'ai rien obtenu. Je suis sous El Capitan. Y a-t-il une réponse définitive quelque part pour faire fonctionner cela ?

1voto

Yuriy Ershov Points 121

Une meilleure façon de le faire est de sauvegarder la sélection dans un fichier temporaire et d'utiliser la commande tmux load-buffer pour la charger dans le presse-papiers, puis C-b ] pour coller.

Sinon, vous pouvez rencontrer des problèmes avec des lignes de texte longues qui ne rentrent pas à l'écran. De plus, les tabulations pourraient ne pas être conservées et les longues lignes pourraient être coupées.

Je dois mentionner une autre façon (plus facile) de le faire sans fichiers supplémentaires.

Il existe un mod pour tmux qui ajoute des capacités de script plus flexibles : http://ershov.github.io/tmux/ (je suis l'auteur)

Cela vous permet de copier et coller sans utiliser de fichiers temporaires :

  1. Copiez la sélection dans vim
  2. Dans vim, tapez :!tmux tcl pbcopy "^R%" ceci mettra le presse-papiers de vim dans celui de tmux
  3. Dans tmux, dans une autre fenêtre utilisez ^B ] pour coller.

Vous voudrez probablement utiliser :set paste dans vim.

Et si vous le faites fréquemment, vous pouvez automatiser l'étape 2 et la lier à une touche dans vim.

0voto

Morris Hopkins Points 31

J'ai rencontré le même problème et ma solution consiste à utiliser tmux à la place de vim dans ces cas.

  1. entrez en mode copie en utilisant Control+b[
  2. naviguez jusqu'au début du texte que vous voulez sélectionner et appuyez sur Control+Space
  3. déplacez-vous à l'aide des touches fléchées pour sélectionner la zone
  4. lorsque vous atteignez la fin de la zone, appuyez simplement sur Alt+w pour copier la zone
  5. maintenant, Control+b ] collera la sélection

Vos raccourcis clavier peuvent légèrement varier

trouvé ici : https://awhan.wordpress.com/2010/06/20/copy-paste-in-tmux/

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X