Pour copier du texte dans le presse-papiers X dans tmux, ce que je fais actuellement est:
- passer en mode sélection avec prefix[
- commencer la sélection avec space(en utilisant
mode-keys vi
btw) - sélectionnez le texte et appuyez sur enter
- copier le tampon tmux dans le presse-papiers X en utilisant prefixctrl+c
(J'ai un mappage comme bind C-c run "tmux show-buffer | xclip -selection clipboard -i"
J'essaie d'éliminer certaines de ces étapes en faisant un mappage pour le mode de sélection. J'ai essayé:
bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"
ce qui me donne et erreur:
.. usage: bind-key [-cnr] [-t key-table] key command [arguments]
(Je n'ai pas pu copier l'erreur)
Comment puis-je réparer cela?
EDIT: J'ai réalisé que je peux sélectionner et copier dans le tampon tmux (3 premières étapes) en utilisant la souris comme une sélection régulière (bien que la mise en évidence ne dure pas, il sélectionne toujours le texte), puis utiliser la liaison suivante pour copier dans le presse-papiers x :
bind-key -n C-c run "tmux show-buffer | xclip -selection clipboard -i"
(J'ai utilisé cette méthode pour copier ce texte et c'était facile;)
notez que -n
dénote "pas de préfixe" donc aucun échappement n'est nécessaire. si vous n'êtes pas dérouté par la surbrillance de disparition, cela est analogue à la copie régulière (interface utilisateur commune).
c'est le meilleur que j'ai trouvé jusqu'à présent ..
EDIT2: s'est avéré des ctrl+cchevauchements avec une chose d'interruption de processus, j'ai donc changé ctrl+alt+cpour maintenant. (n'a pas vraiment aimé)
EDIT3: tmux 1.8 ou plus de support supplémentaire pour ajouter des raccourcis clavier en mode copie alors maintenant ma première intention d'origine est possible en utilisant quelque chose comme:
bind-key -tvi-copy y copy-pipe "xclip -selection clipboard -i"
bind-key -tvi-copy enter copy-pipe "xclip -selection clipboard -i"
Ces deux reliures permettent de copier du texte dans le presse-papiers lorsque j'ai utilisé enterou yde terminer la copie.
Je garde toujours cette ligne au cas où je ferais la copie avec la souris et déciderais de récupérer le contenu du tampon tmux dans le presse-papiers plus tard:
bind-key y run "tmux show-buffer | xclip -selection clipboard -i"
^c
la touche d'interruption car je l'utilise plus souvent que la copie. J'ai également mis à jour la réponse pour refléter ma solution actuelle à ce problème.
bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"
direct donne:Unknown command: run
bind-key C-c run "tmux show-buffer | xclip -selection clipboard -i"
fonctionne très bien.
stty intr=^Z
. Soyez prudent avec cette commande, il est possible de définir un caractère régulier comme caractère d'interruption (si vous le faites, utilisez ctrl-v pour le saisir jusqu'à la fixation du paramètre). Et ne vous trompez pas sur la clé utilisée (par exemple, ctrl-z est normalement la clé de suspension).