1. 程式人生 > >vi/vim開啟檔案提示Found a swap file by the name

vi/vim開啟檔案提示Found a swap file by the name

問題分析

有一次在遠端連線主機時,用vi開啟檔案my.ini卻提示:Found a swap file by the name ".my.ini.swp"。百度了下才知道,原來在使用vi或vim命令開啟一個檔案後,就會產生一個.(filename).swp的檔案。如果編輯完成之後,正常退出,那麼這個swp檔案就會被自動刪除。

而之前我在使用vi操作該檔案時發生了異常中斷(非正常退出),於是就在當前目錄下生成了一個.my.ini.swp檔案。在Linux中,以.開頭的檔案都是隱藏檔案,可以通過使用ll -a或者ls -a來檢視。

這種swp檔案是隱藏檔案,有兩個作用:

  • 避免用多個程式編輯同一個檔案時,產生兩個不同的版本。
  • 非常規退出時,檔案恢復。

解決方法

刪除swp檔案

只要將swp檔案刪除,就不會再出現這個提示。可以通過rm命令來刪除該檔案。

禁止生成swp檔案

如果想要禁止生成swp檔案,可以通過修改vim的配置檔案來實現。新建一個~/.vimrc檔案,在檔案中新增一行程式碼:

set noswapfile

這樣該配置就只會對當前使用者生效,你也可以直接修改/etc/vimrc檔案,效果是一樣的。

通過swp檔案來恢復檔案

swp檔案可以用來恢復檔案,假如你有一個swp檔案.my.ini.swp,可以通過以下命令來恢復:

vi -r my.ini

恢復檔案之後可以把swp檔案刪除,不然每次開啟my.ini檔案時都會提示。

參考連結

  1. linux下vi操作Found a swap file by the name
  2. 非正常關閉vi編輯器時會生成一個.swp檔案