Где VIM (gvim / macvim) хранит файлы подкачки для несохраненных / неназванных буферов? (Если это вообще так).
Предыстория: В течение полуинтенсивного семинара я делал записи в безымянном / несохраненном буфере MacVim, когда у MacBook кончился сок и он выключился из ниоткуда (Он не спал / не спал, как обычно).
Вопрос: Кто-нибудь знает, есть ли вероятность того, что несохраненная работа могла быть сохранена в файл подкачки (.swp) или тому подобное, который можно было бы восстановить?
Сведения о системе: в частности, это произошло с использованием MacVim на Mac OS X 10.5.8 (но интересны также возможные подсказки по восстановлению для других версий). Я еще не перезагружал MacVim в случае, если это инициирует процесс очистки.
Ответы:
Запустите vim и попробуйте:
:recover <filename>
Если у файла никогда не было имени, то просто:
:recover
Это ваша лучшая ставка. Для получения дополнительной информации о файлах подкачки и восстановлении см .:
:help usr_11
Что касается файлов подкачки, обычно они сохраняются в том же каталоге, что и редактируемый файл, но с. добавили начало, чтобы сделать его скрытым, и .swp в конце, но их можно переместить в другое место, например:
:set directory=~/vimswap
или похожие.
Видеть:
:help swap
Для всех деталей.
Однако файл подкачки vim отличается от отредактированного буфера, поэтому обязательно ознакомьтесь с тем, что можно сделать для восстановления.
РЕДАКТИРОВАТЬ : комментарии, отвечающие на вопрос:
[…] Похоже, что в вашем текущем рабочем каталоге, ~ / tmp, / var / tmp и / tmp, есть файлы подкачки, и в моем случае у меня всегда установлен текущий рабочий каталог, и именно там он был сохранен. - dsclementsen 5 октября 2010 года в 1:42
также обязательно ознакомьтесь с командной строкой vim -r arg. Это распечатает все найденные файлы подкачки и где они находятся. Кроме того, в нем будет много дополнительной информации, такой как дата / изменение / имя пользователя / и т. Д. - Neg_EV 5 октября 2010 в 13:49
источник
:recover
без имени файла. Я только что проверил это для восстановления безымянного файла, и это сработало. В любом случае, даже если эта конкретная команда не помогает, чтение этих файлов справки может.recover
без аргументов, это позволяло мне выбирать даже из некоторых старых сессий. В любом случае, файл .swp для неповрежденного буфера, вероятно, находится в / tmp, но это будет где-то еще, в зависимости от того, есть ли у васset directory= <something>
.:recover!
для восстановления моего несохраненного файла.Я работаю на Windows 10 и
:recover
не нашел файл подкачки.vim -r
перечислил файл подкачки из последнего сеанса редактирования (также никогда не сохраненный) с именем _.swp. Восстановление было возможно с:recover _
.источник
Ответ: повсюду. Трюк в том, чтобы найти правильный. Некоторые находятся в вашем каталоге / tmp, но многие находятся где-то в вашем домашнем каталоге.
Возможно, есть более эффективные способы сделать это, но у меня сработало следующее, когда я потерял безымянный файл (на MacBook):
в домашнем каталоге найдите файлы резервных копий (это займет несколько секунд и, возможно, будет сделано умнее):
открыть файл:
удалите имена файлов, которые не предназначены для резервного копирования безымянных файлов:
Теперь я вижу список мест неназванных файлов резервных копий. В каждом из этих каталогов я запускаю следующие, пока не найду файл (ы) с сегодняшнего дня:
Я захожу в правильный каталог и открываю vim и набираю: recovery и выбираю правильную резервную копию.
источник
Кажется, что они окажутся в вашем рабочем каталоге.
:pwd
Это где бы вы ни открывали vim, или вы могли бы установить его, используя:cd
или подобное.Файлы подкачки для безымянных буферов, похоже, просто сбрасываются туда без имени файла, так что в итоге вы получите .swp .swn .swo и т. д. Я обнаружил это не при попытке восстановить что-то, но когда мой файл hg ignore недостаточно покрывал разные суффиксы!
Я догадался, что причиной было множество неназванных буферов с изменениями, и удаление этих буферов привело к исчезновению тайных файлов.
источник