Я читаю Стив Лош Узнать Vimscript Hard Way и добавил к моему .vimrc
" make status line red while in insert mode
augroup hi_statusline
autocmd!
autocmd InsertEnter * hi StatusLine ctermbg=15 ctermfg=9
autocmd InsertLeave * hi StatusLine ctermbg=238 ctermfg=253
augroup END
Я заметил странное поведение. Иногда я ударял C-c, чтобы выйти из режима вставки, который отлично работает и документирован. Когда я это делаю, событие InsertLeave не срабатывает. Когда я использую ESC, он работает нормально. Это известная странность vim? Возможно, существует обходное решение, связанное с другим событием, которое предполагает, что функция InsertMode больше не активна?
ИЗМЕНИТЬ | Meh, добавив inoremap <C-c> <ESC>
, разрешает его, и, насколько я могу судить, абсолютно никаких побочных эффектов, поскольку C-c уже делает то, что делает ESC (возвращается в нормальный режим). Исправьте меня, если я ошибаюсь.