2010-08-25 54 views
6

保存文件時是否可以自動刪除交換文件,並在文件更改時自動重新創建交換文件?Vim,保存文件時自動刪除交換文件

這是一個好主意嗎?

編輯: 想要這樣做的原因是,如果計算機突然用完或崩潰,我不必通過diff過程查看上次保存後沒有變化的文件。

提到的diff過程是;首先打開文件只讀,將其保存在不同的文件名下,然後將其刪除。

它並不經常發生,但是當它發生時也很煩人。

+1

你爲什麼要這樣做? – jkramer 2010-08-25 13:47:57

+0

已添加更多信息。看我的編輯。 – Orjanp 2010-08-25 15:07:31

+2

您應該注意,當vim檢測到交換文件時,它會告訴您交換文件是否包含該文件的修改版本。如果修改:NO,那麼通常可以安全地刪除交換文件。 – 2010-08-27 03:51:11

回答

3

是否可以在文件保存時自動刪除交換文件,並在文件更改時自動重新創建它?

這是一個好主意嗎?

刪除和創建文件是相對較慢的操作。如果有人要繼續編輯,保留交換文件是有道理的。或者爲什麼人們會保持VIM運行?

此外,VIM使用交換文件來檢測嘗試編輯來自不同VIM實例的同一文件。

總而言之,我認爲嘗試刪除文件是一個壞主意。

P.S.值得注意的是,當VIM以只讀模式作爲viewvim -R啓動時,它不會創建交換文件。但是,如果一旦更改文件,交換文件將被創建。

2

我假設你像我一樣有一個長時間運行的vim會話(我的屏幕會話中的第一個窗口始終是vim,它通常會持續幾天,幾乎在正常運行的整個過程中)。我認爲交換文件不會保留,如果你只是關閉緩衝區,除非你有'隱藏'設置。會發生什麼情況是,當您爲緩衝區啓用「隱藏」時,vim會嘗試保留緩衝區的所有撤消歷史記錄,因此必須使交換文件可訪問,以防您回到緩衝區並開始撤消更改。至於我,我不喜歡這個功能,並保持它關閉(這是默認的),所以只需要處理崩潰時我主動加載到vim窗口中的那些緩衝區的交換文件。由於我有每隔5分鐘自動保存一次會話的宏,並且由於我也禁用了Vim的默認交換文件檢測提示,所以在崩潰後重新啓動會話是相當痛苦的。