4

Я хочу настроить курсор vim на мигающий прямоугольник. Я попробовал это , и это , и многие другие подобные питания после некоторых поисков, но ни один из них не работает , как ожидалось.

В настоящее время мой курсор представляет собой немигающее подчеркивание серого цвета (то есть подчеркивание ниже символа "е" в последней строке ниже), которое довольно трудно распознать.

подчеркивание курсора

Когда курсор находится над символом в скобках, он становится блоком. (На самом деле я считаю, что это изменение цвета фона) Я хочу, чтобы этот блок был постоянно и мигал.

блочный курсор

У меня нет ничего, связанного со стилем курсора в моем файле .vimrc. Я использую Mac OS X 10.9, Terminal версии 2.4 (326) и oh-my-zsh. В настройках терминала я использую тему Pro и устанавливаю курсор на подчеркивание. Я могу изменить это на блокировку, чтобы курсор в vim также изменился, но мне нужен курсор подчеркивания в обычном терминале.

настройки терминала

2 ответа2

2

Вы можете попробовать это в вашем .vimrc:

let &t_SI="\033[4 q" " start insert mode
let &t_EI="\033[1 q" " end insert mode

Это будет установлено под линией для режима вставки и блока для нормального Более подробная информация: http://vt100.net/docs/vt510-rm/DECSCUSR

Также возможно играть с этой командой в терминале, где X может быть 0, 1, 2, 3 или 4.

printf '\033[X q'
1

Вы можете попробовать добавить это в ваш vimrc:

if exists('$TMUX')
    let &t_SI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
    let &t_EI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
else
    let &t_SI = "\<Esc>]50;CursorShape=0\x7"
    let &t_EI = "\<Esc>]50;CursorShape=0\x7"
endif

Это должно обеспечить правильные escape-последовательности для tmux или iTerm.

Я также нашел этот плагин, который автоматически меняет курсор в зависимости от текущего режима.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .