CursorHold
и CursorHoldI
могут помочь.Согласно документации:
|CursorHold| the user doesn't press a key for a while
|CursorHoldI| the user doesn't press a key for a while in Insert mode
Эти события запускаются только один раз после бездействия и зависят от переменной updatetime
(по умолчанию: 4000 мс).Таким образом, вы можете:
:au CursorHold <buffer> :update
, который будет обновлять текущий буферный файл (т.е. сохранять только при изменении) после 4 секунд бездействия по умолчанию в обычном режиме.
Добавить автокоманду для CursorHoldI
, если выхотите получить то же поведение в режиме вставки.