我正在使用在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都没有任何明显的影响!我在这里做错了什么?
提前致谢。
答案 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。