J'utilise la dernière version de tmux (à partir du référentiel git) et xclip (0.12), et je voudrais pouvoir utiliser des liaisons de clavier de type Emacs pour se déplacer dans le texte copy-mode
, copier ( M-w
) les sélections dans le presse-papiers, et coller ( C-y
) de / vers le tampon de copie dans le presse-papiers.
Jusqu'à présent, j'ai pu coller du texte avec C-y
et me déplacer copy-mode
avec des liaisons de clavier de type Emacs, mais je ne suis toujours pas en mesure de copier du texte à partir d'un tampon tmux (par exemple dans copy-mode
)
J'ai trouvé ce fil pour copier la totalité du tampon dans le presse-papiers (et vice versa), mais il ne semble pas fonctionner pour moi.
De plus, dans la tmux-users
liste de diffusion, on m'a dit que les versions récentes de tmux (uniquement dans le dépôt git) fournissent une commande appelée copy-pipe
. La page de manuel indique ce qui suit à propos de cette commande:
Une commande dans accepte un argument, copy-pipe, qui copie la sélection et la redirige vers une commande. Par exemple, ce qui suit liera 'C-q' pour copier la sélection dans / tmp ainsi que le tampon de collage:
bind-key -temacs-copy C-q copy-pipe "cat >/tmp/out"
Il semble qu'il copy-pipe
soit destiné à être utilisé en partie pour diriger la sélection vers une autre commande. Il semble également y avoir des fautes de frappe dans cette description et dans la commande (qu'est-ce que c'est temacs-copy
?)
Quoi qu'il en soit, ce que je voudrais faire, c'est:
Copier:
- Entrer en mode copie
- Déplacer vers le texte que je veux copier à l' aide des commandes de navigation Emacs (c. -à
C-f
,C-b
,M-f
,M-b
,C-a
,C-e
etc. pour déplacer le curseur). Aucun préfixe pour aucun d'entre eux. - Copiez le texte sélectionné dans le presse-papiers avec:
M-w
( pas de préfixe non plus)
Collage:
- J'aimerais pouvoir taper
C-y
( sans avoir à entrercopy-mode
) pour coller du texte dans le terminal ( pas de préfixe non plus)
J'ai essayé ce qui suit pour copier sans chance:
bind-key -n M-w run "tmux save-buffer - | xclip -i -selection clipboard"
Cependant, le collage fonctionne très bien:
bind-key -n C-y run "xclip -o | tmux load-buffer - ; tmux paste-buffer"
La chose étrange est que je sais que la xclip -i -selection clipboard
partie " " de la commande de copie ci-dessus fonctionne bien, car je peux copier des choses dans le presse-papiers dans la ligne de commande, par exemple:
echo "Hello world. How are you?" | xclip -i -selection clipboard
Avec tout cela, comment puis-je copier une sélection du mode copie dans le presse-papiers?