E325: ATTENTION Found a swap file by the name "/var/tmp/default.swp" owned by: root dated: Thu Mar 13 16:03:23 2025 file name: /etc/nginx/sites-available/default modified: YES user name: root host name: VM-12-5-opencloudos process ID: 49105 While opening file "/etc/nginx/sites-available/default" CANNOT BE FOUND (1) Another program may be editing the same file. If this is the case, be careful not to end up with two different instances of the same file when making changes. Quit, or continue with caution. (2) An edit session for this file crashed. If this is the case, use ":recover" or "vim -r /etc/nginx/sites-available/default" to recover the changes (see ":help recovery"). If you did this already, delete the swap file "/var/tmp/default.swp" to avoid this message.
时间: 2025-03-13 10:18:27 浏览: 115
### 解决方案
当在编辑 Nginx 的 `default` 配置文件时遇到 `E325: ATTENTION Found a swap file by the name ".default.swp"` 错误,这通常是因为之前打开该文件时未能正常关闭,从而留下了 `.swp` 文件。以下是具体的解决方案:
#### 方法一:删除现有的 `.swp` 文件
`.swp` 是 Vim 自动生成的交换文件,用于保存正在编辑的内容以防数据丢失。如果确认之前的会话已无恢复必要,则可以直接删除该文件。
1. 使用以下命令查找并删除对应的 `.swp` 文件:
```bash
rm ./.default.swp
```
2. 删除完成后重新尝试通过 Vim 打开目标文件:
```bash
sudo vim /etc/nginx/sites-available/default
```
这种方法适用于不需要恢复上一次编辑内容的情况[^3]。
---
#### 方法二:强制加载或放弃交换文件
如果不希望手动寻找和删除 `.swp` 文件,也可以直接在 Vim 中处理这一问题。
1. **恢复上次编辑状态**
如果需要恢复上次未完成的编辑操作,在启动 Vim 时可以加上 `-r` 参数来读取交换文件中的内容:
```bash
sudo vim -r /etc/nginx/sites-available/default
```
2. **放弃交换文件**
如果不关心上次的修改内容,可以在提示界面输入选项 `(O)pen it read-only` 或者直接选择 `(D)elete it` 来移除交换文件并继续工作。具体操作如下:
- 当出现提示时,键入大写字母 `D` 并按回车。
- 这样即可跳过冲突警告并正常进入编辑模式[^4]。
---
#### 方法三:禁用交换文件功能(临时/永久)
对于某些场景下频繁发生此类问题或者无需使用交换文件的情况下,可以选择禁用它。
1. **临时禁用**
在每次运行 Vim 命令时附加参数以禁用交换文件创建:
```bash
sudo vim -n /etc/nginx/sites-available/default
```
此处的 `-n` 表示不使用交换文件[^1]。
2. **永久禁用**
若要彻底禁用全局范围内的交换文件生成,可将以下设置加入到用户的 `.vimrc` 文件中:
```vim
set noswapfile
```
注意:此方法可能会影响数据安全性,仅建议在特定需求环境下采用。
---
### 总结
上述三种方式分别针对不同情况提供了灵活的选择。一般推荐优先考虑 **方法一** 和 **方法二**,因为它们既简单又不会影响其他功能;而 **方法三** 则适合那些完全不需要交换保护机制的人群。
阅读全文
相关推荐




















