【发布时间】:2014-01-01 15:42:44
【问题描述】:
我正在使用 tmux 和 vim,我想在窗格之间轻松导航。我想使用 Ctrl+h/j/k/l 在窗格之间切换。我的 .vimrc 中有这个:
Bundle 'christoomey/vim-tmux-navigator'
nnoremap <c-j> <c-w>j
nnoremap <c-k> <c-w>k
nnoremap <c-h> <c-w>h
nnoremap <c-l> <c-w>l
我的 .tmux.conf 中有这个
bind -n C-h run "(tmux display-message -p '#{pane_title}' | grep -iq vim && tmux send-keys C-h) || tmux select-pane -L"
bind -n C-j run "(tmux display-message -p '#{pane_title}' | grep -iq vim && tmux send-keys C-j) || tmux select-pane -D"
bind -n C-k run "(tmux display-message -p '#{pane_title}' | grep -iq vim && tmux send-keys C-k) || tmux select-pane -U"
bind -n C-l run "(tmux display-message -p '#{pane_title}' | grep -iq vim && tmux send-keys C-l) || tmux select-pane -R"
它可以在 tmux 的面板之间切换,但它在 vim 中不起作用。我该怎么做才能让它在 vim 中工作?
【问题讨论】:
-
不带前缀使用
c-h/j/k/l不是一个好主意。如果您使用 emacs keybind cmd 行编辑,您将失去backspace, remove current till end, clear screen功能。 -
不要试图让它发挥作用。 windows in windows in windows 不值得麻烦,在 tmux 和 vim 中使用相同的键绑定很可能是最糟糕的解决方法。在 vim 中使用 vim 键绑定,在 tmux 中使用 tmux 键绑定。