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して設定すると、set updatetime=800完全に機能します。しかし、必要に応じて時間を変更するためのグローバル変数が必要です。

4

1 に答える 1

5

使用する

let &updatetime=aunm

. set式を受け付けません。


ところで、あなたのコードは CursorHoldI イベントをクリアせずに常に追加しているように見えます。使用する必要があります

autocmd! CursorHoldI * :stopinsert

(強打で)または一度追加するだけで(直前の行でau InsertEnter)、いずれにしても、挿入モード以外ではトリガーされません。注: このコマンドは、どのグループにも属さないパターンを持つすべての イベントをクリアするため、複数のイベントがある場合は、それらまたはこれを a に配置する必要があります(両方を配置することをお勧めします)。CursorHoldI*augroup {GroupName} | au … | augroup END

于 2012-11-18T14:06:43.467 に答える