【轉】 vim swp交換文件的處理

原文連接:http://blog.csdn.net/pwiling/article/details/51830781



當你非正常關閉vim編輯器時(比如直接關閉終端或者電腦斷電),會生成一個.swp文件,這個文件是一個臨時交換文件,用來備份緩衝區中的內容。

需要注意的是如果你並沒有對文件進行修改,而只是讀取文件,是不會產生.swp文件的。

意外退出時,並不會覆蓋舊的交換文件,而是會重新生成新的交換文件。而原來的文件中並不會有這次的修改,文件內容還是和打開時一樣。

例如,第一次產生的交換文件名爲“.file.txt.swp”;再次意外退出後,將會產生名爲“.file.txt.swo”的交換文件;而第三次產生的交換文件則爲“.file.txt.swn”;依此類推。

這裏寫圖片描述

當你再次用vim打開文件是,會首先出現上述界面。

你可以使用

vim -r
  • 1
  • 1

來查看當前目錄下的所有swp文件
這裏寫圖片描述

你也可以使用

vim -r filename
  • 1
  • 1

來恢復文件,這樣上次意外退出沒有保存的修改,就會覆蓋文件。

然後用rm 命令刪除交換文件。

如果你不想vim產生交換文件,可以使用如下命令禁止

:set noswapfile

  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

也可以使用以下命令,設置生成交換文件:

:set swapfile

注意,以上設置僅針對當前文件生效。

根據默認設置,交換文件會每隔4000毫秒(4秒)或者200個字符保存一次。我們可以使用以下命令,修改保存交換文件的頻率:

:set updatetime=23000

:set updatecount=400
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

注意,如果我們將updatecount的值爲0,那麼就將不保存交換文件。

Vim默認在當前文件所處的目錄下產生交換文件,我們可以通過directory選項來更改交換文件產生的目錄。例如,使用以下命令將交換文件存放在/tmp目錄下:


:set directory=/tmp
  • 1
  • 2
  • 1
  • 2

注意,如果我們將交換文件存儲在一個指定目錄,那麼當編輯不同目錄下相同名稱的文件時,就會產生命名衝突。我們可以將directory選項設置爲一個以逗號分隔的目錄列表,並將當前目錄(.)設爲目錄列表的第一個選項,這樣交換文件首先會被存放在當前目錄下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章