copyr (vers X presse-papiers) raccourci dans .tmux.conf

Afin de copyr du text dans le pressepapiers de X dans tmux, ce que je fais actuellement est:

  • aller en mode sélection avec préfixe [
  • commencer la sélection avec un espace (en utilisant les mode-keys vi btw)
  • select le text et appuyez sur Entrée
  • copyz le tampon tmux dans le presse-papiers X en utilisant le préfixe ctrl + c

(J'ai un mappage en tant que bind Cc run "tmux show-buffer | xclip -selection clipboard -i"

J'essaie d'éliminer certaines de ces étapes en effectuant un mappage pour le mode de sélection. J'ai essayé:

 bind-key -t vi-copy Cc run "tmux show-buffer | xclip -selection clipboard -i" 

qui me donne et l'erreur:

 .. usage: bind-key [-cnr] [-t key-table] key command [arguments] 

(Je ne pouvais pas copyr l'erreur)

Comment puis-je réparer cela?

EDIT: J'ai réalisé que je peux sélectionner et copyr dans tmux buffer (3 premières étapes) en utilisant la souris juste comme une sélection normale (bien que la mise en évidence ne dure pas, il sélectionne toujours le text) :

 bind-key -n Cc run "tmux show-buffer | xclip -selection clipboard -i" 

(J'ai utilisé cette méthode pour copyr ce text et c'était facile;)

notez que -n indique "pas de préfixe", donc il ne faut pas s'échapper. si vous ne vous laissez pas perplexe par la mise en surbrillance, cela est analogue à la copy normale (interface user commune).

c'est le meilleur que j'ai trouvé jusqu'ici ..

EDIT2: avéré ctrl + c chevauche avec la chose d'interruption de process si j'ai changé pour ctrl + alt + c pour l'instant. (n'a pas tout à fait comme ça)

EDIT3: tmux 1.8 ou si le support ajouté pour append des keybindings en mode copy, maintenant ma première intention initiale 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 bindings permettent de copyr du text dans le presse-papiers lorsque j'utilise enter ou y pour terminer la copy.

Je garde toujours cette ligne au cas où je ferais la copy avec la souris et déciderais d'get plus tard le contenu du tampon tmux dans le presse-papiers:

 bind-key y run "tmux show-buffer | xclip -selection clipboard -i" 

Cette réponse ne répond pas directement à votre question sur la création d'un raccourci. Mais voici ce que je fais.

Vous pouvez temporairement suspendre le passage de vos keys / events de souris à tmux en maintenant shift . Vous pouvez donc appuyer sur Shift et les raccourcis réguliers de terminal / X pour effectuer la copy. Dans mon cas en utilisant Terminator, j'appuie sur shift , surligne avec la souris tout ce que je veux, copy avec Ctrl + Shift + C

Et si vous avez des windows partagées, vous pouvez zoomer sur le volet actuel avec le préfixe + z de la touche de zoom et effectuer l'opération de copy. (testé sur tmux v1.8)

Cela ne répond pas directement à votre question, mais jetez un oeil à tmux-yank , comme décrit dans Utiliser le presse-papier système en mode vi-copy dans tmux et Obtenir tmux pour copyr un tampon dans le presse-papiers . Après l'installation,

prefix + y – copy le text de la command line vers le presse-papiers.

les bindings de mode de copy:

y – copyr la sélection dans le presse-papier du système