Как получить shift+arrows и ctrl+arrows, работающий в Vim в tmux?

Это - все в iTerm2 на OS X.

Я раньше имел

export TERM='xterm-256color'

в моем .bashrc. Этот предназначенный Vim в tmux действительно использовал 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>

Это заставляет ярлыки работать, но не похоже на правильное решение. Кто-либо мог сказать мне, что происходит здесь и как зафиксировать его?

47
задан 20.03.2017, 12:17

0 ответов

Теги

Похожие вопросы