En utilisant tmux à la fois avec Emacs et Vim

Quelle est la meilleure liaison par clé par défaut pour tmux et pourquoi si on utilise parfois des emacs et parfois utilise vim (sur Linux Mint 12)? Ctrl-b est OK, mais cela contredit un peu le bash shell et les Emacs.

J'ai trouvé une bonne réponse dans une publication associée: quel est le préfixe / séquence d'échappement moins conflictuel pour l'écran ou le tmux?

Et je suis allé avec Ctrl- \. Voici mon ~ / .tmux-conf:

set-window-option -g mode-keys vi set-window-option -g window-status-current-bg blue set-window-option -g automatic-rename on set-option -g status-keys vi set-option -g history-limit 100000 set-option -g base-index 1 set-option -s escape-time 0 setw -g mode-mouse on set-option -g mouse-select-pane on # We won't worry about sending C-\ to any programs # bind-key C-\ send-prefix # hit C-\ twice to go to last window bind-key C-\ last-window bind-key b set-option status bind-key / command-prompt "split-window 'exec man %%'" # vim's definition of a horizontal/vertical split is reversed from tmux's bind s split-window -v bind v split-window -h # move around panes with hjkl, as one would in vim after pressing ctrl-w bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R # resize panes like vim bind < resize-pane -L 10 bind > resize-pane -R 10 bind - resize-pane -D 10 bind + resize-pane -U 10 # Cb is not acceptable, due to emacs, bash, and vim unbind-key Cb set-option -g prefix C-\ 

Je préfère fortement C-] , qui n'est pas en conflit avec les liaisons vi, et est en conflit avec la liaison d' abort-recursive-edit par défaut abort-recursive-edit par défaut dans Emacs. J'utilise cela assez rarement, et dans des circonstances assez méchantes, que le taper deux fois n'est pas un grand drame.

J'ai utilisé Ctrl pendant un certain temps et je n'ai pas trouvé de conflit avec n'importe quoi au moins dans vim / bash. Je n'utilise pas les Emacs, donc je ne sais pas s'il est en conflit avec quelque chose d'important.

Aussi une petite note, je crois que je devais lier à C-_ pour le faire fonctionner car c'est la clé réelle qu'il envoie.

J'ai choisi Ctrl + Alt + b, c'est-à-dire

 unbind Cb set -g prefix MCb 

J'utilise C- \. Notez que vous devez l'échapper avec des guillemets simples:

 unbind-key Cb set-option -g prefix C-'\' 

La meilleure solution que j'ai rencontrée pour cela est d'utiliser simplement `. Le seul endroit où cela me cause des problèmes consiste à coller directement dans le code (avec les tampons du système), sinon c'est la solution parfaite.

 set -g prefix ` bind-key ` send-prefix 

Une autre bonne idée est d'aller pour M-F3 . Il n'est pas en conflit avec les emacs et vi, la combinaison est plutôt pratique, est-il plutôt fermé aux menus M-F2 et M-F1 utilisés pour la commande d'exécution et le menu virtualdesktops.

[J'utilise Emacs, et commence un vim (à l'intérieur d'Emacs pour l'instant) et utilise linuxMint cannelle pour distro]