Очистка экрана после выхода в Windows vim с помощью ConEmu/Cygwin
Я пытаюсь собрать вместе 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-последовательностей, похоже, не очищает экран вообще.
Я очень рад за любую помощь в этом вопросе.
2 ответа
AFAIK vim (версия для Windows) не публикует в терминале последовательности альтернативного режима входа / выхода. Не знаю, как мята справляется с этим, все еще расследует.
Попробуйте установить это в своем .vimrc
, который также включает колесо прокрутки в vim.
Это взято из http://conemu.github.io/en/Whats_New.html, сборка 150316 заметок. Казалось, наконец-то решить эту проблему для меня.
""""""""""""""""""""""""""""""""""""""
" let mouse wheel scroll file contents
""""""""""""""""""""""""""""""""""""""
if !has("gui_running")
set term=xterm
set mouse=a
set nocompatible
inoremap <Esc>[62~ <C-X><C-E>
inoremap <Esc>[63~ <C-X><C-Y>
nnoremap <Esc>[62~ <C-E>
nnoremap <Esc>[63~ <C-Y>
endif