SteveLoshのLearnVimscriptthe 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がアクティブでなくなったことを示唆する別のイベントにフックすることで、おそらく回避策はありますか?
編集| ええと、解決策を追加するとそれがinoremap <C-c> <ESC>
解決され、私が知る限り、CcはESCが行うことをすでに実行している(通常モードに戻る)ため、副作用はまったくありません。私が間違っている場合は私を訂正してください。