Error in my script

vim

Solution

Use

let &updatetime=aunm

. `set` does not accept expressions.

By the way, I see your code constantly adds CursorHoldI events without clearing them out, this way you may end up with a hundred of them. You should use

autocmd! CursorHoldI * :stopinsert

(with bang) or just add it once (with a line just before `au InsertEnter`), in any case it won’t be triggered not in insert mode. Note: this command will clear out all `CursorHoldI` events with pattern `*` that are not in any group so if you have more you have to put them or this into a `augroup {GroupName} | au … | augroup END` (better to put both).

Problem

I don't like to have to press `ESC` to change to normal mode, so I'm writing a small script for doing that for me, after a time. But I'm getting the following error: ``` Error detected while processing InsertEnter Auto commands for "*": E521: Number required after =: updatetime=aunm ``` This is the script ``` let aunm=800 au InsertEnter * let aunm_restore=&updatetime | set updatetime=aunm | au CursorHoldI * :stopinsert au InsertLeave * let &updatetime=aunm_restore ``` if I remove `let aunm=800` and set manualy `set updatetime=800` it works perfectly. But i would like to have a global var to change the time if needed.

Original source