如何在 Vim 中看到“[删除”交换文件的选项?
How can I see the option in Vim to "[D]elete" a swap file?
当我打开一个文件时,Vim 发现存在交换文件,它会警告我并提供一些选项,例如“[A]bort”和“[E]dit anyways” .但是,它曾经向我展示但不再展示的一个选项是“[D]删除”交换文件。我怎样才能让它再次显示这个选项?
在 vi stack exchange site by Martin Tournoij 上发布:
如果Vim进程还在运行,则不会显示"Delete it"选项;我在任何地方都找不到这个文档,但我在源代码中查找了它;来自 memline.c
,第 4512 行(稍微简化):
do_dialog(
[..]
process_still_running
? (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Quit\n&Abort") :
(char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Delete it\n&Quit\n&Abort"), [..]);
交换文件嵌入了创建它的进程 ID,如果具有该 PID 的进程仍然存在,则认为该进程是 "running"。
交换消息应显示以下信息:
E325: ATTENTION
Found a swap file by the name "~/.vim/tmp/swap/swapy.swp"
owned by: martin dated: Fri Sep 8 22:13:35 2017
file name: ~martin/swapy
modified: no
user name: martin host name: arch.arp242.net
process ID: 17355 (still running)
While opening file "swapy"
dated: Fri Sep 8 22:13:35 2017
注意 process ID: 17355 (still running)
行。
最有可能的情况是你在某处有另一个 Vim 实例 运行 :-) 如果你找不到它,你可以 kill
它。
PID 被另一个进程重新使用的可能性 很小,在这种情况下,您唯一的选择是退出 Vim,手动删除交换文件,然后重新启动它:
$ rm ~/.vim/tmp/swap/swapy.swp
当我打开一个文件时,Vim 发现存在交换文件,它会警告我并提供一些选项,例如“[A]bort”和“[E]dit anyways” .但是,它曾经向我展示但不再展示的一个选项是“[D]删除”交换文件。我怎样才能让它再次显示这个选项?
在 vi stack exchange site by Martin Tournoij 上发布:
如果Vim进程还在运行,则不会显示"Delete it"选项;我在任何地方都找不到这个文档,但我在源代码中查找了它;来自 memline.c
,第 4512 行(稍微简化):
do_dialog(
[..]
process_still_running
? (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Quit\n&Abort") :
(char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Delete it\n&Quit\n&Abort"), [..]);
交换文件嵌入了创建它的进程 ID,如果具有该 PID 的进程仍然存在,则认为该进程是 "running"。
交换消息应显示以下信息:
E325: ATTENTION
Found a swap file by the name "~/.vim/tmp/swap/swapy.swp"
owned by: martin dated: Fri Sep 8 22:13:35 2017
file name: ~martin/swapy
modified: no
user name: martin host name: arch.arp242.net
process ID: 17355 (still running)
While opening file "swapy"
dated: Fri Sep 8 22:13:35 2017
注意 process ID: 17355 (still running)
行。
最有可能的情况是你在某处有另一个 Vim 实例 运行 :-) 如果你找不到它,你可以 kill
它。
PID 被另一个进程重新使用的可能性 很小,在这种情况下,您唯一的选择是退出 Vim,手动删除交换文件,然后重新启动它:
$ rm ~/.vim/tmp/swap/swapy.swp