tmux: Remapeando as chaves para painel à esquerda / direita / cima / baixo

12

O Tmux permite percorrer os painéis usando Ctrl-b+ (→, ←, ↑, ↓).

Gostaria de remapear isso para:

Ctrl-b+ Ctrl-(l, j, i, k).

Para referência, o layout das teclas l,j,i,ké semelhante ao das teclas de seta, mas são mais fáceis de digitar sem mover a mão.

Estive editando algumas coisas aqui e ali no .tmux.conf, mas não consegui encontrar informações sobre como religar os comandos acima.

Amelio Vazquez-Reina
fonte
4
man tmux | less -p select-pane
Jasonwryan #

Respostas:

14

tmux list-keys(ou prefix + ?nas configurações dfault) fornecerá mapeamentos de teclas atuais na forma de comandos necessários para configurá-los. Veja man tmux, o nome do comando é bind-key(e você pode remover as ligações padrão unbind-key).

Você também pode considerar uma combinação mais "padrão" hjkl , conhecida vie clona (todas as chaves na linha inicial), especialmente se você é um datilógrafo rápido.

peterph
fonte
11

Se você deseja manter uma navegação semelhante ao vim, seria útil remapear resize-panetambém:

# vim-like pane resizing  
bind -r C-k resize-pane -U
bind -r C-j resize-pane -D
bind -r C-h resize-pane -L
bind -r C-l resize-pane -R

# vim-like pane switching
bind -r k select-pane -U 
bind -r j select-pane -D 
bind -r h select-pane -L 
bind -r l select-pane -R 

# and now unbind keys
unbind Up     
unbind Down   
unbind Left   
unbind Right  

unbind C-Up   
unbind C-Down 
unbind C-Left 
unbind C-Right

Eu vou te mostrar .tmux.confcomo referência

E, a propósito, não esqueça de remapear o 'horizontal-split'caso de você ter a hchave, pois isso interferirá no seu pane-resizee pane-switch.

Daniel Andrei Mincă
fonte
3
Apenas uma observação: o "-r" permite que você execute PREFIX e, em seguida, pressione várias vezes o comando vinculado: por exemplo: CTRL-B CTRL-J CTRL-J CTRL-Jestenderá o painel atual em 3 linhas, em vez de:CTRL-B CTRL-J CTRL-B CTRL-J CTRL-B CTRL-J
gbin