我不想按ESC
更改为普通模式,所以我写了一个小脚本,以便在一段时间后为我做这件事。
但我收到以下错误:
Error detected while processing InsertEnter Auto commands for "*":
E521: Number required after =: updatetime=aunm
这是脚本
let aunm=800
au InsertEnter * let aunm_restore=&updatetime | set updatetime=aunm | au CursorHoldI * :stopinsert
au InsertLeave * let &updatetime=aunm_restore
如果我删除let aunm=800
并设置manualy set updatetime=800
,则效果非常好。但我希望有一个全局变量可以根据需要改变时间。
答案 0 :(得分:5)
使用
let &updatetime=aunm
。 set
不接受表达式。
顺便说一句,我看到你的代码不断添加CursorHoldI事件而不清除它们,这样你最终可能会有一百个它们。你应该使用
autocmd! CursorHoldI * :stopinsert
(用bang)或只添加一次(在au InsertEnter
之前的一行),在任何情况下都不会在插入模式下触发。注意:此命令将清除所有 CursorHoldI
事件,其模式*
不在任何组中,因此如果您有更多事件,则必须将它们放入{{} 1}}(最好放两个)。