解决Vim中的E37: No write since last change错误

冰山一角 2021-05-21 ⋅ 16 阅读

在使用 Vim 进行编辑时,有时候你可能会遇到 E37: No write since last change 错误。这个错误通常发生在你试图退出 Vim 时,但却有未保存的更改。

当你进行编辑并尝试退出 Vim 时,它会检查是否存在未保存的更改。如果存在未保存的更改,Vim 会阻止你退出,并显示 E37: No write since last change 错误消息。这种机制有助于防止不小心丢失未保存的更改,但有时候你可能确实需要退出 Vim 而无需保存更改。

以下是几种解决方法,帮助你解决 E37 错误。

1. 强制退出 Vim

如果你确定不需要保存更改并且想要强制退出 Vim,你可以使用强制退出命令。在 Normal 模式下,输入 :q! 并按下回车即可。这将立即退出 Vim,而不会保存任何更改。

请注意,这种方法会丢失所有未保存的更改,所以在使用之前确保确认你不需要这些更改。

2. 保存更改并退出

如果你希望保存更改并退出 Vim,你可以使用 :wq 命令。这将保存当前文件并退出 Vim。

3. 放弃更改并退出

如果你对当前文件的更改不想保存,并且想要退出 Vim,你可以使用 :q! 命令。这将放弃所有更改并立即退出 Vim。

4. 刷新文件并退出

如果发生 E37: No write since last change 错误的原因是因为另一个程序修改了与当前打开文件相关的文件内容,你可以尝试刷新文件并退出 Vim。

在 Normal 模式下,输入 :e 并按下回车,然后输入 :q 并按下回车即可。这样将重新加载文件并退出 Vim。

5. 打开一个新的 Vim 实例

如果上述方法无效,你可以尝试在另一个终端窗口中打开一个新的 Vim 实例,然后使用 :e 命令打开原文件。这样,你可以复制所有内容,并尝试退出新实例,看看是否有任何错误提示。

这样做的目的是确保在另一个环境中运行 Vim,以便使错误状况最小化。

总结: 解决 Vim 中的 E37: No write since last change 错误的方法有多种。你可以强制退出 Vim,使用 :wq 命令保存并退出,或使用 :q! 命令放弃更改并退出。

如果你遇到 E37 错误的原因是另一个程序修改了文件内容,你可以尝试刷新文件并退出,或者在新的 Vim 实例中打开文件。

希望这些解决方法能帮助你成功解决 E37 错误并更好地使用 Vim。祝你编辑愉快!


全部评论: 0

    我有话说: