我如何判断 Vim 交换文件是否未被修改且未打开?

我如何判断 Vim 交换文件是否未被修改且未打开?

当我的机器崩溃时,我经常会在 Vim 中打开几十个文件,然后通过会话文件一次性打开它们。但是,所有关于现有会话文件的提示都让我很烦。我总是选择 [d]elete 选项,除非:

  1. 文件已被修改,或
  2. 该文件已在另一个进程中打开。

我想通过SwapEventautocmd 自动执行该过程,这样我只能看到这两种情况;但是,唯一容易获取的信息是<afile>v:swapname。提示显示交换文件是否有修改,以及具有其编号的进程是否正在运行,所以我知道这些信息是可用的,但我如何访问它?我需要启动外部进程来读取交换文件吗?

答案1

看看recovery.vim——显示恢复文件的差异插件。它有一个选项可以将交换文件与已保存的文件进行比较,并且当没有更改时,可以选择删除交换文件。

相关内容