2012-07-11 55 views
4

其實我想自動保存我當前的文件,:w命令寫入文件,所以我認爲當我會定期重複這個命令(比如每30秒)時,我會達到我想要的。但我該怎麼做?如何在vim中定期重複任何命令?

+0

廢話。我曾經設置過一次,但是在將我的vimrc放在版本控制之前,我已經把它擦掉了。我認爲它使用了更新時間。但它造成了自己的問題,使自動保存不值得我。現在我有'inoremap :w '這做我所需要的,而不是更多。 – romainl 2012-07-11 05:58:56

+0

相關:http://stackoverflow.com/questions/6991638/how-to-auto-save-a-file-every-1-second-in-vim?rq=1 – 2012-07-11 13:45:18

回答

1

看一看成:help autosave

+0

這引導你到todo.txt;從Vim 7.3.584開始,它尚未實現。志願者歡迎:-) – 2012-07-11 13:47:17

+0

自動保存在VIM 7.3中可用。 – Ifthikhan 2012-07-13 10:59:11

3

Vimscript中本身是單線程;你不能經常執行一個命令本身。最接近週期性觸發的是autocmds,尤其是CursorHold事件,在沒有按下'updatetime'(通常爲4秒)的按鍵後觸發。

自動保存的另一個有趣的事件是FocusLost,但是可能不會在終端中觸發,只是在GVIM中。

有了它,像這樣可以定義:

autocmd CursorHold,CursorHoldI <buffer> silent! write 
+0

昨晚我搜索了這個東西,並且有一些有希望的結果(包括一些專門用於自動保存的結果)都使用這種'CursorHold'方法。 – 2012-07-11 14:43:20