TMUX使用HJKL导航窗格

时间:2015-06-08 21:03:25

标签: tmux

标准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"

source

哪个也不起作用。我有点难过。

2 个答案:

答案 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