tmux: переназначение клавиш на панель слева / справа / сверху / вниз

12

Tmux позволяет перемещаться по панелям с помощью Ctrl-b+ (→, ←, ↑, ↓).

Я хотел бы переназначить это:

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

Для справки, расположение клавиш l,j,i,kаналогично расположению клавиш со стрелками, но их легче набирать, не перемещая руку.

Я кое-что редактировал здесь и там .tmux.conf, но не смог найти информацию о том, как перепривязать вышеуказанные команды.

Амелио Васкес-Рейна
источник
4
man tmux | less -p select-pane
Джейсонвриан

Ответы:

14

tmux list-keys(или prefix + ?в настройках dfault) даст вам текущие сопоставления клавиш в виде команд, необходимых для их настройки. Смотрите man tmux, имя команды bind-key(и вы можете удалить привязки по умолчанию с unbind-key).

Возможно, вы также захотите рассмотреть более «стандартную» комбинацию hjkl , известную from viи clones (все ключи в домашнем ряду), особенно если вы быстро печатаете.

peterph
источник
11

Если вы хотите придерживаться vim-подобной навигации, было бы полезно переназначить resize-paneтакже:

# 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

Я покажу вам мой .tmux.confв качестве ссылки

И, кстати, не забудьте переназначить его, 'horizontal-split'если он у вас есть на hключе, так как он будет мешать вашим pane-resizeи pane-switch.

Даниэль Андрей Минкэ
источник
3
Просто примечание: «-r» позволяет вам выполнить PREFIX, а затем несколько раз нажать на привязанную команду: например: CTRL-B CTRL-J CTRL-J CTRL-Jрасширит текущую панель на 3 строки вместо:CTRL-B CTRL-J CTRL-B CTRL-J CTRL-B CTRL-J
gbin