tmux: Ponowne mapowanie klawiszy do panelu po lewej / prawej / górnej / dolnej

12

Tmux pozwala poruszać się po oknach za pomocą Ctrl-b+ (→, ←, ↑, ↓).

Chciałbym zmienić to na:

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

Dla porównania, układ klawiszy l,j,i,kjest podobny do układu klawiszy strzałek, ale łatwiej je pisać bez poruszania ręką.

Edytowałem kilka rzeczy tu i tam .tmux.conf, ale nie mogłem znaleźć informacji o tym, jak ponownie powiązać powyższe polecenia.

Amelio Vazquez-Reina
źródło
4
man tmux | less -p select-pane
jasonwryan

Odpowiedzi:

14

tmux list-keys(lub prefix + ?w ustawieniach dfault) daje aktualne mapowania klawiszy w postaci poleceń potrzebnych do ich skonfigurowania. Zobacz man tmux, nazwa polecenia to bind-key(i możesz chcieć usunąć domyślne powiązania za pomocą unbind-key).

Możesz także rozważyć bardziej „standardową” kombinację hjkl , znaną z vii klonującą (wszystkie klawisze w wierszu głównym), szczególnie jeśli jesteś szybkim maszynistą.

Peter
źródło
11

Jeśli chcesz pozostać przy nawigacji podobnej do vima, przydałby się resize-panerównież remap :

# 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

Pokażę ci moje .tmux.confjako odniesienie

A tak przy okazji, nie zapomnij o ponownym mapowaniu na 'horizontal-split'wypadek, gdybyś miał go na hkluczu, ponieważ będzie to kolidować z twoim pane-resizei pane-switch.

Daniel Andrei Mincă
źródło
3
Tylko uwaga: „-r” pozwala wykonać PREFIKS, a następnie nacisnąć kilkakrotnie CTRL-B CTRL-J CTRL-J CTRL-JCTRL-B CTRL-J CTRL-B CTRL-J CTRL-B CTRL-J
klawisz