我在我的这些行中.vimrc更改了Vim的插入模式的状态行的颜色.StatusLine快速响应InsertEnter.但是,因为InsertLeave,约.--INSERT--StatusLine中颜色消失和颜色变化之间延迟1秒.我可以帮忙解决这个问题吗?
set laststatus=2
if version >= 700
au InsertEnter * hi StatusLine term=reverse ctermbg=15 ctermfg=22
au InsertLeave * hi StatusLine term=reverse ctermbg=16 ctermfg=0
endif
Run Code Online (Sandbox Code Playgroud)
我试过:au Insertleave,只显示一个命令:
--- Auto-Commands ---
InsertLeave
* hi StatusLine term=reverse ctermbg=16 ctermfg=0
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.
谢谢
Vim无法判断你是否正在离开插入模式,因为它所看到的只是一个逃脱.箭头键通常被设置于由终端Vim作为解释<ESC>OA,<ESC>OB,<ESC>OC,和<ESC>OD.所以vim在做任何事之前都在等待序列中的下一个键.这也是原因,如果你输入<ESC>O的O只是坐在屏幕上一秒钟,而不是打开当前新的行.
Vim用于timeoutlen确定按键之间等待的时间.默认为1000毫秒.你可以减少这个,但是它会使输入映射变得更难.
如果您在不属于某些映射的词之后立即键入内容,则autocmd也会被更快地触发.
相关选项看是:h timeout,:h ttimeout,:h timeoutlen,和:h ttimeoutlen.
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |