2012-11-18 84 views
3

我不喜歡必須按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它完美的作品。但我希望有一個全球性的變化,如果需要改變時間。

回答

5

使用

let &updatetime=aunm 

set不接受表達式。


順便說一句,我看到你的代碼不斷增加CursorHoldI事件,但不清除出來,這樣你可以與他們的一百結束。您應該使用

autocmd! CursorHoldI * :stopinsert 

(與爆炸),或只是(剛剛au InsertEnter前,用線)添加一次,在任何情況下也不會被不插入模式觸發。注意:這個命令將清除所有全部CursorHoldI事件模式*不在任何組,因此如果你有更多的你必須把它們或這個到augroup {GroupName} | au … | augroup END(最好把兩個)。