在vim中编辑apache配置文件时,“交换文件xxx已经存在”?


9

使用vim时,当我编辑apache配置时,总是收到一条消息,提示“交换文件xxx已经存在”。但是,我在tmp的工作目录中看不到它。我该如何删除?

Answers:


16

Vim交换文件通常是隐藏的(Unix隐藏文件以开头.)。为了查看隐藏文件以及常规文件,您需要ls -A(助记符:A表示全部)。那应该告诉您是否有交换文件。


5

仅当您尝试编辑的文件没有完全保存到磁盘上时,才会发生这种情况。方案是:

  1. 在vi / vim中仍然打开文件时,您不正确地关闭了系统。

  2. 通过vi中的不同/相同控制台同时访问文件时。

每当在vi / vim中打开文件时,vi / vim都会创建一个.swp文件。每次在vi / vim中打开文件时,vi / vim都会检查该文件,如果发现此警告,则会弹出

可以通过两种方式避免这种情况

  1. 一种是通过删除名为.swp的文件

“ /文件/您/正在/编辑/.your_file_name.swp的路径”

  1. 您也可以在打开文件并按恢复选项时选择vi / vim的恢复模式。

我只是在谈论第一种情况,只有这种情况才是安全的。场景二是不同的情况。


如果有未保存的更改,则可以使用vi -r(或vim -r根据需要)恢复它们。我通常将恢复的文件写入一个临时文件,并将diff其与主文件相对。(我不太相信恢复过程不会丢失信息。)
Keith Thompson

1

如果您正在编辑的文件被调用,httpd.conf那么交换文件将被调用.httpd.conf.swp。除非你加它隐藏-a你的ls论点。

ls -a /etc/httpd/conf/


0

在消息中,您应该看到文件的完整路径。您可以通过以下方式复制粘贴路径来管理它:

rm -f /path/to/the/file
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.