标准TMUX设置为在窗格之间导航时使用ctrl-b + [向上,向下,向左,向右]。
我想这样做,以便我可以使用ctrl-b(或我选择的前缀)+ [h,j,k,l]。
我以为我在~/.tmux.conf
设置中使用以下vi键完成了此操作:
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"
哪个也不起作用。我有点难过。
答案 0 :(得分:46)
您可以按照以下方式执行此操作:
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的编辑,但都不是指在窗格之间切换。
答案 1 :(得分:9)
您是否记得要提供〜/ .tmux.conf文件?在此文件中进行任何更改后,您需要输入以下命令以查看发生的任何更改
tmux source-file ~/.tmux.conf