Изменение курсора Vim в MobaXTerm
Я недавно обновил с MobaXterm 7.7 до MobaXterm 8.1 на моей машине с Windows для моих нужд SSH и X11.
После этого мои курсоры Vim перестали меняться, когда я вхожу в разные режимы (например, режим вставки) - теперь курсор всегда является блочным курсором. Кроме того, я заметил, что если я изменю настройку "Terminal Cursor" по умолчанию в MobaXterm, курсор консоли останется блок-курсором независимо (возможная ошибка?).
Раньше я добавлял следующие строки в свой файл.vimrc для адресации курсоров, но после обновления до MobaXterm 8.1 это больше не работает.
let &t_ti.="\e[1 q"
let &t_SI.="\e[3 q"
let &t_EI.="\e[1 q"
let &t_te.="\e[0 q"
Мне любопытно, что вызывает это.
Проведя некоторые исследования, я нашел следующую строку в журнале изменений MobaXterm 8.0:
Improvement: The embedded terminal is now based on a plain PuTTY engine
Если я правильно помню, у вас ограниченная возможность менять курсоры в среде PuTTY. Означает ли это, что я больше не могу менять свои курсоры Vim при использовании MobaXterm? Или есть какая-то команда.vimrc, о которой я не знаю? Это всего лишь ошибка или она предназначена?
Спасибо!
2 ответа
Ни одна из связанных с курсором последовательностей управления PuTTY не заканчивается на "q". Похоже, разработчики MobaXterm не хотят беспокоиться о применении своего патча.
Проверяя текущий источник PuTTY (0.65), он имеет (как и ожидалось) "ограниченную" возможность изменять внешний вид курсора. Он обрабатывает эти escape-последовательности, когда включена функция SCO/ANSI:
\e[=2c
(курсор курсора)\e[=1c
(обычный курсор)\e[0c
(скрытый курсор)\e[=
Икс;
YC
(рисует курсор от линий сканирования x до y)
Кроме того, курсор может быть изменен на / из курсора блока (для нормального режима "VT220"), используя \e[?34h
а также \e[?34l
,