我正在使用在 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 都没有任何明显的影响!我在这里做错了什么?
提前致谢。
尽管我在这里踏足了未知领域,但我得到了一些工作。也许其他人可以填写其余部分。
在终端中启动 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。