实际上,我希望自动保存当前文件,:w
命令可以将文件写入,因此我认为,当我以固定间隔(比如每30秒)重复执行此命令时,我就能实现我的愿望。但是我该如何做呢?
Vimscript本身是单线程的,您不能定期执行命令。 最接近周期性触发器的是autocmds,特别是CursorHold
事件,在'updatetime'
(通常为4秒)后未按键时触发。
另一个用于自动保存的有趣事件是FocusLost
,但该事件可能无法在终端中触发,只能在GVIM中触发。
使用它,可以定义类似于以下内容:
autocmd CursorHold,CursorHoldI <buffer> silent! write
CursorHold
的方法。 - Wayne请查看:help autosave
inoremap <Esc> <Esc>:w<CR>
,它做我需要的事情,而不是更多的事情。 - romainl