小编Hen*_*k N的帖子

如何在 tmux 中的 Vim 中使用 shift+arrows 和 ctrl+arrows?

这一切都在 OS X 上的 iTerm2 中。

我曾经有过

export TERM='xterm-256color'
Run Code Online (Sandbox Code Playgroud)

在我的.bashrc. 这意味着 tmux 中的 Vim 确实使用了 256 种颜色。

一旦我添加

set -g xterm-keys on
Run Code Online (Sandbox Code Playgroud)

然后带有修饰符的键盘快捷键在 Vim 中运行良好。即:shift+left/right我映射到切换 Vim 选项卡,ctrl+up/down我映射到移动(“气泡”)行,并且shift+left/right在命令行模式下开箱即用以逐字跳转(例如,在键入类似的内容时:e foo bar baz)。

然而,这种设置有问题,即Vim的背景颜色只能说明后面的文字,提到这里

所以我删除了

export TERM='xterm-256color'
Run Code Online (Sandbox Code Playgroud)

从我的.bashrc,而不是把它放在我的.tmux.conf

set -g default-terminal "screen-256color"
Run Code Online (Sandbox Code Playgroud)

这修复了 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> …
Run Code Online (Sandbox Code Playgroud)

vim tmux modifier-keys

54
推荐指数
2
解决办法
3万
查看次数

标签 统计

modifier-keys ×1

tmux ×1

vim ×1