我不想按下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它完美的工作.但我希望有一个全局变量来改变时间,如果需要的话.
使用
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(或更好地放入两者).
| 归档时间: |
|
| 查看次数: |
426 次 |
| 最近记录: |