2017-03-16 3 views
5

J'ai utilisé tmux dans iTerm2 depuis un moment mais je n'utilise pas l'intégration tmux qui vient maintenant avec iTerm2.Iterm2 avec intégration tmux n'utilisant pas les raccourcis clavier de .tmux.conf

J'ai commencé à utiliser l'intégration tmux car elle vous permet d'utiliser l'intégration de shell à l'intérieur de tmux.

Le problème que je rencontre est que, après avoir fait tmux -CC aucun des raccourcis clavier dans mon travail .tmux.conf ... Je ne peux même pas obtenir l'un des paramètres par défaut pour fonctionner. Je voudrais vraiment utiliser l'intégration tmux mais ne peux pas à moins que je puisse obtenir les raccourcis clavier dans mon fichier .tmux.conf pour fonctionner.

Certaines des liaisons qui ne fonctionnent pas sont:

  • Rebond la touche préfixe C-s
  • bind-key \ split-window -v -c '#{pane_current_path}'
  • bind-key - split-window -h -c '#{pane_current_path}'

Ce ne sont que quelques exemples mais fondamentalement rien ne semble fonctionner ...

Mon .tmux .conf est

# improve colors 
set-option -g default-terminal "screen-256color" 

# set base Prefix key to ctrl-s 
unbind C-b 
set -g prefix C-s 
bind-key -r C-s send-prefix 

# reload the source config 
bind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded" 

# Smart pane switching with awareness of Vim splits. 
# See: https://github.com/christoomey/vim-tmux-navigator 
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ 
    | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" 
bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L" 
bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D" 
bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U" 
bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R" 
bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l" 

set-option -g status-keys "emacs" 

#change colour of status bar 
set-option -g status-bg '#666666' 
set-option -g status-fg '#aaaaaa' 

# set window split 
bind-key - split-window -v -c '#{pane_current_path}' 
bind-key \ split-window -h -c '#{pane_current_path}' 

# set text in status bar 
set -g status-interval 1 
set -g status-justify centre # center align window list 
set -g status-left-length 50 
set -g status-right-length 140 
set -g status-left '#[fg=green]#H #[fg=black]• #[fg=green,bright]#(uname -r | cut -c 1-6)#[default]' 
set -g status-right '#[fg=green,bg=default,bright]#(tmux-mem-cpu-load -i 1) #[fg=red,dim,bg=default]#(battery -at) #[fg=white,bg=default]%a%l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d' 

# Fine adjustment (1 or 2 cursor cells per bump) 
bind -n S-Left resize-pane -L 2 
bind -n S-Right resize-pane -R 2 
bind -n S-Down resize-pane -D 1 
bind -n S-Up resize-pane -U 1 

# new window opens in same directory 
bind c new-window -c "#{pane_current_path}" 

# set window numbering to start from 1 
set -g base-index 1 
set -g renumber-windows on 

# allow to take a pane and put it into new window 
bind-key b break-pane -d 

# allows ctrl-j to open tree of tmux sessions 
bind-key C-j choose-tree 

# Use vim keybindings in copy mode 
setw -g mode-keys vi 

# Setup 'v' to begin selection as in Vim 
bind-key -t vi-copy v begin-selection 
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy" 

# Update default binding of `Enter` to also use copy-pipe 
unbind -t vi-copy Enter 
bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy" 

# History 
set -g history-limit 10000 

# Mouse mode 
set-option -g mouse on 

# Rename Tab 
set-option -g set-titles on 

# Terminal notifier doesnt work with tmux 
set -g default-command "which reattach-to-user-namespace > /dev/null && reattach-to-user-namespace -l $SHELL || $SHELL -l" 

set-option -sg escape-time 10 
+0

Possible duplication de [iTerm 2 ne respectant pas les raccourcis clavier déclarés dans le fichier .tmux.conf] (https://stackoverflow.com/questions/26063195/iterm-2-not-honoring-key-bindings-declared-in-tmux -conf) –

Répondre

1

Copie ma réponse à https://stackoverflow.com/a/47171067/4200039 sur:

Quelqu'un a signalé un bug similaire à iTerm2 Tmux Integration Default Keybindings not working en 2015. La réponse du développeur George Nachman suggère que les raccourcis clavier ne sont pas pris en charge:

L'un des principaux objectifs de L'intégration de tmux est que vous utilisez les touches d'iTerm2, pas les tmux. S'il y a un flux de travail spécifique que vous ne pouvez pas accomplir en mode natif, faites le moi savoir - il y a beaucoup de puissance dans la capacité pour remapper les clés dans iTerm2.

Ceci devrait être marqué comme un doublon de iTerm 2 not honoring key bindings declared in .tmux.conf mais je ne peux pas le marquer jusqu'à ce qu'il ait une réponse acceptée ou mise à jour.