web-dev-qa-db-fra.com

Récupérer l'ancien comportement de copier / coller dans tmux, avec la souris

Voici ce que je faisais dans tmux pour copier/coller (en utilisant la souris, le clavier fonctionne différemment et ce n’est pas ce qui m’intéresse):

  1. Sélectionner du texte avec la souris, en appuyant sur le bouton gauche
  2. Coller du texte avec le bouton central

J'ai mis à niveau mon système d'exploitation, et cela a eu une nouvelle version de tmux. Je n'ai pas changé mon fichier de configuration .tmux.conf.

C’est ce que j’ai à faire avec la version actuelle de tmux, 1.6 (Qui est pré-emballée dans le dernier linux crunchbang):

  1. Sélectionnez le texte avec la souris, bouton gauche enfoncé et shift clé
  2. Coller du texte avec le bouton central
  3. Le terminal est bloqué, une petite zone d’information contient des chiffres en haut à droite du volet actuel (c.-à-d. [0/24], Probablement liée au nombre de caractères collés), ce qui a peu d’importance pour moi et dont je n’ai pas besoin./want (edit: il semble que copy-mode est entré automatiquement ici)
  4. Je dois appuyer sur le q clé pour obtenir à nouveau un terminal fonctionnel.

C'est trop compliqué pour quelque chose que je fais des dizaines de fois par jour. Comment faire fonctionner l'ancien mécanisme?

96
dangonfast

Pour restaurer la configuration copier/coller par défaut, vous devez (au moins temporairement) désactiver le support de la souris dans tmux:

prefix : set -g mouse off

prefix est la clé d'accès tmux (Ctrl+B par défaut sauf si vous le re-mappez). : démarre le mode commande et set -g définit le paramètre globalement.

Lorsque le mode souris est désactivé, les fonctions standard copier/coller fournies par votre système d'exploitation fonctionnent comme prévu.

Vous pouvez également choisir de "maximiser" le volet actuel pour pouvoir copier plusieurs lignes facilement.


Si vous travaillez avec une ancienne version de tmux (antérieure à la version 2.1), vous devez plutôt utiliser les éléments suivants:

prefix : set -g mode-mouse off

Il y a plus de détails et quelques raccourcis clavier pratiques pour automatiser tout ça ici:

http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/

L’objet principal de l’article lié à ce qui précède est cet extrait de .tmux.conf:

# disable mouse control by default - change 'off' to 'on' to enable by default.
setw -g mode-mouse off
set-option -g mouse-resize-pane off
set-option -g mouse-select-pane off
set-option -g mouse-select-window off
# toggle mouse mode to allow mouse copy/paste
# set mouse on with prefix m
bind m \
    set -g mode-mouse on \;\
    set -g mouse-resize-pane on \;\
    set -g mouse-select-pane on \;\
    set -g mouse-select-window on \;\
    display 'Mouse: ON'
# set mouse off with prefix M
bind M \
    set -g mode-mouse off \;\
    set -g mouse-resize-pane off \;\
    set -g mouse-select-pane off \;\
    set -g mouse-select-window off \;\
    display 'Mouse: OFF'
# zoom this pane to full screen
bind + \
    new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \;\
    swap-pane -s tmux-zoom.0 \;\
    select-window -t tmux-zoom
# restore this pane
bind - \
    last-window \;\
    swap-pane -s tmux-zoom.0 \;\
    kill-window -t tmux-zoom
68
dr-jan
  1. Copier le texte: sélectionnez le texte et appuyez sur la souris left-button avec la touche shift appuyée aussi.
  2. Collez le texte avec shift clé + middle-button
214
Yves Blusseau

Si "placez -g mode-mouse sur", vous pouvez faire cette astuce:

Sur Mac, appuyez sur le bouton "fn", puis sélectionnez le texte et copiez-le avec le clic droit de la souris ou le clavier cmd + c.

30
fluder

J'ai eu du mal à faire en sorte que l'exemple de Christian fonctionne pour Tmux 2, je pense à des fautes de frappe. J'ai le travail au-dessous et est un peu plus facile à lire et définit les deux modes global et fenêtre. Quelqu'un nouvel utilisateur et tmux est génial!

bind m run "\
    tmux show-options -g | grep -q "mouse\\s*on"; \
    if [ \$? = 0 ]; \
    then  \
        toggle=off;  \
    else  \
        toggle=on;  \
    fi;  \
    tmux display-message \"mouse is now: \$toggle\";  \
    tmux set-option -w mouse \$toggle; \
    tmux set-option -g mouse \$toggle; \
    "
6
Neil McGill

Utilisation <prefix>+m activer ou désactiver le mode souris

bind m run "if [[ `tmux show-option -w | grep mode-mouse.*on` ]]; then toggle=off; else toggle=on; fi; tmux display-message \"mouse tmux: \$toggle\"; tmux set-option -w mode-mouse \$toggle &> /dev/null; for cmd in mouse-select-pane mouse-resize-pane mouse-select-window; do tmux set-option -g \$cmd \$toggle &> /dev/null; done;"
6
Kaixuan Wang

Pour les utilisateurs de Mac + iTerm2 + tmux (version> 2.1) :

Assurez-vous que le mode souris est défini dans tmux config (Ajoutez simplement set -g mode-mouse on dans ~/.tmux.conf). Maintenant, pour copier le texte dans un volet:

  1. Presse option + command et sélectionnez le texte que vous souhaitez copier à l'aide du curseur de la souris. C'est comme recadrer une photo.
  2. Le texte sélectionné aurait été copié automatiquement (pas besoin de command + c). Collez-le simplement par les moyens habituels.
5
Umashankar

Modifié à partir de ici - J'utilise xclip au lieu de xsel dans l'original:

bind -T root MouseDown2Pane run -b "xclip -o | tmux load-buffer - && tmux paste-buffer -s ' '"

Cela fonctionne joyeusement pour moi dans tmux 2.5-rc2

4
Andy

Ceci est une version modifiée de réponse de Kaixuan compatible avec Tmux 2.1.

`bind m run "if [[ `tmux show-options -w | grep mouse.*on` ]]; then toggle=off; else toggle=on; fi; tmux display-message \"mouse tmux: \$toggle\"; tmux set-option -w mouse \$toggle &> /dev/null;`"

Tous les mode-mouse Les options ont été combinées en une seule option mouse et show-option a dû être remplacé par show-options

2

dans ~/.tmux.conf:

set -g mouse off

ayant bind r source-file ~/.tmux.conf _ peut être utile aussi pour que vous puissiez faire ctrl-d r pour recharger la configuration par exemple.

0
localhostdotdev