发生碰撞时该怎么办

Vim 将所有未保存的编辑保存在交换文件中,这是一个额外的文件,一旦通过保存提交更改就会被删除。交换文件的名称通常是正在编辑的文件的名称,前面是 ..swp 后缀(你可以使用:sw 查看)。

因此,如果你的 vim 进程在你有机会保存编辑之前终止,则可以通过使用命令行选项 -r 将交换文件中包含的更改应用于当前文件来恢复工作。例如,如果 myFile 是你正在编辑的文件,请使用:

$ vi -r myFile

恢复未提交的更改。

如果存在交换文件,vim 应该提示你仍然需要恢复选项

$ vi myFile
E325: ATTENTION
Found a swap file by the name ".myFile.swp"
...
Swap file ".myFile.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

如果你选择(R)ecover,则会应用 swp 文件中的更改,但交换文件不会被删除,因此如果你对恢复感到满意,请不要忘记删除交换文件。