Linux中vim修改文件时候出现崩溃,产生了一个.swap交换文件,如何修复?

有时候在用vim打开文件时提示类似以下的信息:

E325: 注意

发现交换文件 ".filename.txt.swp"

所有者: root   日期: Thu Mar  1 17:15:41 2012

文件名: ~root/filename.txt

修改过: 是

用户名: root    主机名: localhost.localdomain

进程 ID: 4434

正在打开文件 "filename.txt"

日期: Thu Mar  8 10:56:17 2012

比交换文件新!

(1) 另一个程序可能也在编辑同一个文件。

如果是这样,修改时请注意避免同一个文件产生两个不同的版本。

退出,或小心地继续。

(2) 上次编辑此文件时崩溃。

如果是这样,请用 ":recover" 或 "vim -r  filename"

恢复修改的内容 (请见 ":help recovery")。

如果你已经进行了恢复,以避免再看到此消息。

交换文件 ".filename.swp" 已存在!

以只读方式打开([O]), 直接编辑((E)), 恢复((R)), 删除交换文件((D)), 退出((Q)), 中止((A)):

 

这是因为,在用vim打开一个文件时,其会产生一个 .filename.swap 文件,用于保存数据,当文件非正常关闭时,可用此文件来恢复,当正常关闭时,此文件会被删除,非正常关闭时,不会被删除,所以提示存在.swap文件,此时你可以恢复文件:

若果原文件没有被删除,那么直接删除 rm -rf.filename.swap  就可以了!

如果源文件已经被删除,那么   vim -r .filename.swap或者vim -r filename  利用swp文件恢复原文件(前提是系统没有重启,系统重启后,该文件也会消失),恢复以后把.swap文件删掉  rm -rf  .filename.swap

再打开时就不会用提示,注意.swap文件是个隐藏文件,可用ls -a 查看,以.开头的是隐藏文件!

 

一般,在使用vim打开某文件的时候出现这种问题的原因有两种:

 1.此时该文件已经被打开,在这种情况下可以使用只读方式打开!

 2.就是由于swp文件存在,可能是由于上次编辑的时候崩溃造成的!

rm  -rf  .filename.swp  可以删除该文件(确保不会使用该文件做恢复)!



上一篇:centos 打开配置文件出错:nginx.conf


下一篇:Java二叉树