这一切都在OS X的iTerm2中。
我曾经有过
export TERM='xterm-256color'
在我的.bashrc
。这意味着tmux中的Vim确实使用了256种颜色。
一旦我添加
set -g xterm-keys on
然后带有修饰符的键盘快捷键在Vim中可以正常工作。即:shift+left/right
我映射到切换Vim选项卡,ctrl+up/down
映射到移动(“冒泡”)行,并且shift+left/right
在命令行模式下(例如,输入类似:e foo bar baz
)时可以按字跳动。
然而,这种设置有问题,即Vim的背景颜色只能说明后面的文字,提到这里。
所以我删除了
export TERM='xterm-256color'
从我的.bashrc
,而不是把它放在我的.tmux.conf
:
set -g default-terminal "screen-256color"
这样可以固定Vim的背景颜色,但是却破坏了键盘快捷键-它们会执行意外的操作(移动光标,删除文本)。
通过使用ctrl+v
插入来自组合键逐字输出(如描述在这里),我是能够解决它:
map [1;5A <C-Up>
map [1;5B <C-Down>
map [1;2D <S-Left>
map [1;2C <S-Right>
cmap [1;2D <S-Left>
cmap [1;2C <S-Right>
这样可以使快捷方式起作用,但感觉不像是正确的解决方案。谁能告诉我这里发生了什么以及如何解决?
map <Esc>[B <Down>
从一个添加的的答案。似乎插件本身做出一些错误假设的原因。