TMUX с использованием HJKL для навигации по панелям
Стандартное TMUX настроено на использование ctrl-b + [вверх, вниз, влево, вправо] при навигации между панелями.
Я хотел бы сделать так, чтобы я мог использовать ctrl-b (или префикс моего выбора) + [h, j, k, l].
Я думал, что сделал это со следующим ключом vi в настройках ~/.tmux.conf
:
set -g status-keys vi
setw -g mode-keys vi
Но это ничего не изменило (по крайней мере, не то, что я искал). Как я могу заставить это работать. И да, мой .tmux.conf
работает правильно. При необходимости я могу предоставить дополнительную информацию.
Обновление:
Вот мой полный .tmux.conf после попытки заставить его работать:
set -g status-keys vi
setw -g mode-keys vi
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# smart pane switching with awareness of vim splits
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
В качестве альтернативы я попытался использовать этот w/vim-tmux-navigator плагин Vim:
# smart pane switching with awareness of vim splits
bind -n C-h run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-h) || tmux select-pane -L"
bind -n C-j run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-j) || tmux select-pane -D"
bind -n C-k run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-k) || tmux select-pane -U"
bind -n C-l run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-l) || tmux select-pane -R"
bind -n C-\ run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys 'C-\\') || tmux select-pane -l"
источник
Что тоже не работает. Я немного в тупике.
Ответы
Ответ 1
Вы можете сделать это следующим образом:
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
Обратите внимание, что mode-keys
ссылается на использование vi-подобной навигации в буфере, а status-keys
ссылается на использование vi-подобного редактирования в строке состояния, но не относится к переключению между панелями.
Ответ 2
Не запомнили ли вы источник файла ~/.tmux.conf? После внесения любых изменений в этот файл вам нужно ввести следующую команду, чтобы увидеть какие-либо изменения.
tmux source-file ~/.tmux.conf