Я пытаюсь привести к совместной работе 3 вещи: ConEmu, Cygwin и vim. Рассматриваемый vim - это не Cygwin vim, а родной Windows vim из пакета gvim (выбран потому, что Cygwin vim не поддерживает цвета xterm 256). Подсветка синтаксиса из 256 цветов, кажется, работает после того, как я следовал инструкциям в StackOverflow, но я не могу решить другую проблему.
Cygwin vim отлично работает с альтернативными экранами: когда я выхожу из него, содержимое экрана очищается, и я снова вижу свою историю команд. Windows vim этого не делает: когда я выхожу, командная строка появляется под страницей с предыдущим содержимым vim. Этот вопрос задавался несколько раз в StackOverflow и SuperUser: здесь, здесь, здесь и здесь. Однако ни одно из решений в этих вопросах не работает в ConEmu/Cygwin. Я старался:
установка
t_ti
иt_te
в моем.vimrc
следующим образом:let &t_ti="\e[?47h" let &t_te="\e[?47l"
или же:
let &t_ti="\e[?1049h" let &t_te="\e[?1049l"
включение
altscreen on
в.screenrc
. Я не уверен, что это должно было иметь какой-либо эффект вообще, так как у меня даже не былоscreen
установленного в Cygwin. Однако его установка ничего не изменила. Явный запуск vim сscreen
приводит к странным результатам: половина escape-последовательностей и кодов не работает, не каждое нажатие клавиши распознается, а размеры консоли составляют ~ 80x40 независимо от аргументовscreen
.
Мой $TERM
в vim в настоящее время является xterm
, так как он был установлен в конфигурации .vimrc
необходимой для включения поддержки 256 цветов в ConEmu. Однако отправка xterm-подобных escape-последовательностей, похоже, не очищает экран вообще.
Я очень рад за любую помощь в этом вопросе.