在Tmux中将Ctrl-Right发送到Vim

时间:2013-05-19 20:07:14

标签: vim tmux

我正在使用在tmux会话中运行的Vim。在Vim中,我将Ctrl-Right绑定到:tabnext:

map <C-right> :tabnext<CR>      "next tab

我希望能够调用此绑定,即使Vim在tmux中,所以我将以下内容添加到我的.tmux.conf中:

bind-key -n C-Right send-keys C-Right

但这对Tmux或Vim都没有任何明显的影响!我在这里做错了什么?

提前致谢。

1 个答案:

答案 0 :(得分:14)

我得到了一些工作,虽然我非常喜欢这里未知的领域。也许其他人可以填补其余部分。

我在终端启动Vim时注意到的第一个区别是tmux中的Vim处于'term'设置。

当被问及:set term?时,普通终端Vim回答xterm-256color,但tmux Vim回答screen。重要的是要了解终端中发送的确切密钥代码取决于终端的类型。

一个解决方案就是让tmux和Vim说同一种语言。在tmux:

set-option -gw xterm-keys on
bind-key -n C-Right send-keys C-Right

在Vim:

:set term=xterm-256color

现在Vim和tmux了解对方的终端密钥代码,你的击键将一直到Vim。