我的脚本出错了

Fab*_*cio 3 vim

我不想按下ESC更改为正常模式,所以我写了一个小脚本,为我做了一段时间后.但是我收到以下错误:

Error detected while processing InsertEnter Auto commands for "*":
E521: Number required after =: updatetime=aunm
Run Code Online (Sandbox Code Playgroud)

这是脚本

let aunm=800
au InsertEnter * let aunm_restore=&updatetime | set updatetime=aunm | au CursorHoldI * :stopinsert
au InsertLeave * let &updatetime=aunm_restore
Run Code Online (Sandbox Code Playgroud)

如果我删除let aunm=800并设置manualy set updatetime=800它完美的工作.但我希望有一个全局变量来改变时间,如果需要的话.

ZyX*_*ZyX 5

使用

let &updatetime=aunm
Run Code Online (Sandbox Code Playgroud)

.set不接受表达.


顺便说一句,我看到你的代码不断添加CursorHoldI事件而不清除它们,这样你最终可能会有一百个它们.你应该用

autocmd! CursorHoldI * :stopinsert
Run Code Online (Sandbox Code Playgroud)

(用bang)或者只添加一次(前面有一行au InsertEnter),在任何情况下都不会在插入模式下触发.注意:此命令将清除所有 CursorHoldI具有*不在任何组中的模式的事件,因此如果您有更多的事件,则必须将它们放入augroup {GroupName} | au … | augroup END(或更好地放入两者).