我的脚本出错了

时间:2012-11-18 13:49:34

标签: vim

我不想按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,则效果非常好。但我希望有一个全局变量可以根据需要改变时间。

1 个答案:

答案 0 :(得分:5)

使用

let &updatetime=aunm

set不接受表达式。


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

autocmd! CursorHoldI * :stopinsert

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