vim崩溃后生成.swp等交换文件用于恢复未保存内容,需先用vim -r恢复再删除;清理前须确认无其他vim进程编辑该文件,并注意权限和路径(如/var/tmp),避免误删原文件。

vim异常崩溃后,会在文件所在目录(或/var/tmp)生成以.swp、.swo、.swn等结尾的交换文件。这些文件本身不是“锁”,而是编辑状态快照;但vim检测到它们存在时,会阻止你直接编辑原文件,防止多进程冲突。安全清除的前提是:确认没有其他vim进程正在编辑该文件,且你已完成恢复或决定放弃未保存内容。
先判断是否需要恢复内容
如果崩溃前有未保存的重要修改,优先恢复再清理:
- 进入原文件所在目录(路径必须一致),运行:vim -r filename(例如
vim -r hosts) - 恢复成功后,Vim会提示 Recovery completed,此时可检查内容是否完整
- 用
:w filename.recovered另存为备份,再用diff filename filename.recovered或vimdiff filename filename.recovered对比差异
确认无需恢复后删除交换文件
若已确认内容无遗漏,或原文件本就未改动,可手动清理:
- 普通权限文件:直接删除同目录下的
.filename.swp(如.hosts.swp) - 系统关键文件(如
/etc/hosts):需 sudo rm .hosts.swp,否则报 Permission denied - 若还存在
.swo、.swn等(多窗口异常退出产生),它们常位于/var/tmp,执行:
cd /var/tmp && sudo rm -f filename.*(如sudo rm -f host.*)
避免下次再出现提示
清理后重新用 vim 打开原文件,不再弹出 E325 提示即表示成功。为减少风险,可调整 vim 自动保存频率:
- 在
~/.vimrc中添加:
set updatecount=100(每输入100字符写一次交换文件)
set updatetime=1000(无操作1秒即写入,单位毫秒) - 注意:过度缩短间隔会增加磁盘IO,一般保持默认(200字符/4秒)已足够平衡安全与性能
不复杂但容易忽略:删之前务必确认没人在另一终端编辑同一文件,也别误删原文件本身。











