我正在阅读史蒂夫·洛什的" 学习Vimscript艰难之路"并添加到我的.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
Run Code Online (Sandbox Code Playgroud)
然而,我注意到了一种奇怪的行为.有时我点击C-c退出插入模式,这很好,并且有记录.当我这样做时,InsertLeave事件不会触发.当我使用ESC它工作正常.这是一个众所周知的vim?是否有一种解决方法,通过挂钩另一个表明InsertMode不再活动的事件?
编辑| 嗯,添加一个inoremap <C-c> <ESC>解决它,据我所知,绝对没有副作用,因为Cc已经做了ESC做的(回到正常模式).如我错了请纠正我.
jth*_*ill 12
:ino <C-C> <Esc>
Run Code Online (Sandbox Code Playgroud)
^ C通常是现在这里得到的钥匙,如果你有一个autocmd,你需要不运行CC成为你的朋友.