Как я могу увидеть опцию в Vim "[D] elete" файл подкачки? - PullRequest
0 голосов
/ 13 ноября 2018

Когда я открываю файл, для которого Vim видит наличие файла подкачки, он предупреждает меня и дает мне несколько опций, таких как «[A] bort» и «[E] dit anyways».Тем не менее, одна опция, которую он использовал, чтобы показать мне, но больше не делает, это «[D] elete» файл подкачки.Как я могу заставить его снова показать эту опцию?

1 Ответ

0 голосов
/ 13 ноября 2018

Как размещено на сайте обмена стеком vi Мартином Турнои :

Параметр «Удалить это» не отображается, если процесс Vim все еще выполняется;Я не могу найти это нигде, но я искал это в исходном коде;из 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"), [..]);

Файл подкачки содержит идентификатор процесса, который его создал, и, если процесс с таким идентификатором PID все еще существует, он считает процесс «запущенным»..

Сообщение об обмене должно отображать эту информацию:

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
...