3

Если vim дает сбой и оставляет меня с пустым файлом .swp (т. Е. С размером файла = 0), значит ли это, что я не внес никаких изменений в файл во время сеанса, в котором произошел сбой моего компьютера?

Если так, то есть ли способ изменить настройки так, чтобы vim подсказывал мне об «подкачке» файлов, только если они не пустые?

2 ответа2

1

Это может означать, что не было никаких неписаных изменений, или это может означать, что у Vim не было возможности сохранить файл подкачки; Vim не пишет файл подкачки постоянно. Смотрите " :help 'updatetime' " (с одинарными кавычками в составе команды).

В свете этого, наличие запроса Vim даже с пустым файлом подкачки может быть полезным предупреждением о том, что что-то пошло не так, и внимательно изучить файл для потерянных данных.

1

Файлы подкачки Vim начинаются с магической строки b0VIM за которой следует пробел и номер версии Vim. Пустой файл подкачки не является нормальным и может указывать на более серьезную проблему.

Обратите внимание, что сообщение ATTENTION существует частично, чтобы предупредить вас, когда другой процесс Vim редактирует тот же файл, поэтому вы можете захотеть сохранить его даже в тех случаях, когда вы знаете, что нет ожидающих изменений. В предупреждении указывается, был ли файл изменен и работает ли предыдущий процесс: если нет, удалить файл подкачки безопасно, в противном случае следует действовать с осторожностью.

Вы можете отключить сообщение ATTENTION с set shortmess+=A но Vim не предоставляет достаточно информации о восстановлении в API для автоматического отключения сообщения с низким риском ситуаций. Если вы очень осторожны с рабочим процессом, вы можете отключить сообщение, а затем заняться восстановлением вручную при необходимости. Если вы воспользуетесь этим подходом, вы можете оптимизировать обработку файла подкачки следующим образом: https://stackoverflow.com/questions/63104/smarter-vim-recovery

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .