当我的机器崩溃时,我经常会在 Vim 中打开几十个文件,然后通过会话文件一次性打开它们。但是,所有关于现有会话文件的提示都让我很烦。我总是选择 [d]elete 选项,除非:
- 文件已被修改,或
- 该文件已在另一个进程中打开。
我想通过SwapEvent
autocmd 自动执行该过程,这样我只能看到这两种情况;但是,唯一容易获取的信息是<afile>
和v:swapname
。提示显示交换文件是否有修改,以及具有其编号的进程是否正在运行,所以我知道这些信息是可用的,但我如何访问它?我需要启动外部进程来读取交换文件吗?
答案1
看看recovery.vim——显示恢复文件的差异插件。它有一个选项可以将交换文件与已保存的文件进行比较,并且当没有更改时,可以选择删除交换文件。