vim - 在 Tmux 中向 Vim 发送 Ctrl-Right

标签 vim tmux

我正在使用在 tmux session 中运行的 Vim。在 Vim 中,我将 Ctrl-Right 绑定(bind)到 :tabnext:

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

即使 Vim 在 tmux 中,我也希望能够调用此绑定(bind),因此我在 .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 .重要的是要了解终端中发送的确切 key 代码取决于终端的类型。

一种解决方案是让 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。

关于vim - 在 Tmux 中向 Vim 发送 Ctrl-Right,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16638962/

相关文章:

ubuntu-14.04 - Windows 10 上 ubuntu 中的 tmux 奇怪字符

ubuntu-14.04 - 在 Ubuntu 14.04 上将 tmux 从 1.8 升级到 1.9

vim - 升级到 MacOS Sierra 后 tmux + vim 中的剪贴板故障

tmux - 如何激活同步 Pane 的键盘快捷键?

tmux - 如何从外部发送Tmux前缀命令?

vim - 如何在 tcsh shell 的 Vi 模式下将 'jk' 绑定(bind)到 Esc 键

date - 将读取日期的结果保存到vim脚本中的变量中

Vim:你能从另一行中删除一个特定的行号吗?

linux - 以 + 开头的文件显示 Linux 中的不一致

vim - 在Console2中使用vim能识别吗?