Это все в 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>
Это заставляет работать ярлыки, но не похоже на правильное решение. Может кто-нибудь сказать мне, что здесь происходит и как это исправить?
источник
map <Esc>[B <Down>
из одного из ответов. Кажется, причина в том, что сам плагин сделал несколько неверных предположений.map <Esc>[B <Down>
из этого другого потока означает, что все теперь работает нормально.map <Esc>[B <Down>
делает? Я не вижу никакой разницы, добавив его в мой файл .vimrc.Как объяснялось здесь , отключите фоновое стирание цвета (BCE), очистив параметр
t_ut
терминала (запустите:set t_ut=
в Vim, а затем нажмите Control+, Lчтобы обновить дисплей терминала), чтобы цветовые схемы работали правильно, когда Vim используется внутри экранов tmux и GNU.Таким образом, вы можете сохранить свое
TERM
значение какxterm-256color
для правильного определения ключа, так и для получения правильной цветовой схемы Vim! :-)источник