Я попытался открыть файл .swp , используя vi
и , cat
но она показывает мусор.
emacs
? (или возвышенное, нано, ред и т. д.)
Я попытался открыть файл .swp , используя vi
и , cat
но она показывает мусор.
emacs
? (или возвышенное, нано, ред и т. д.)
Ответы:
vim -r .swp
Это переходит в режим восстановления и дает вам больше информации. Я думаю, что это то, что вы хотите.
.swX
-файлы остаются, если сеанс с несохраненным файлом был убит / аварийно завершен / произошло что-то еще плохое. Они также присутствуют во время открытия несохраненного буфера в сеансе Vim. vim -r
читает эти временные файлы и воссоздает содержимое. После того, как вы его восстановите, просто сохраните его как обычно, например :w newfilename
.
Вам не нужно иметь оригинальный файл для восстановления .swp. Просто откройте файл, как будто он существует. vim будет искать файл с расширением .swp и предложит его восстановить.
например:
$ ls -a
. .. .test.txt.swp
$ vim test.txt
[...]
Swap file ".test.txt.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
Просто нажмите R, чтобы восстановить его и: wq файл
Изменить: Обратите внимание, что файл .swp содержит только изменения, внесенные в файл (см. Комментарий). Это означает, что вам нужно будет извлечь последнюю копию файла из резервной копии, а затем использовать vim для восстановления последних изменений. Если у вас нет резервной копии файла, вам действительно не повезло.
The original file is no longer needed for recovery.
:preserve
и :set cpoptions=...&
оставляет в каталоге файл .swp и .swo и предлагает восстановить любой из них. Используя vim -r <file>
вы можете выбирать между .swp и .swo. Дальнейшие изменения генерируют .swn, .swm и т. Д., Которые, по-видимому, являются частичной суммой свопов до этой точки. Вы можете вернуться к версии по своему вкусу и отредактировать (~ = fork) или сохранить (~ = stash). В конце концов, вы можете архивировать файлы подкачки, демонизировать их резервные копии и т. Д. Я могу ошибаться в деталях, когда речь идет о больших файлах - я не уверен, как это влияет на дополнительные файлы подкачки - см. Ниже.
Откройте исходный файл с помощью vim и выберите вариант восстановления.
Прочитав комментарии Вегара Вестерлунда и Heptite, я захотел узнать, в какой момент vim требуется исходный файл (или резервная копия) для восстановления из файла .swp. Вот что сделал:
Я открыл файл 975 строк, отредактировал его в строке 949 (создание .swp
файла) и завершил процесс, затем удалил оригинал. $ vim Original_File
спросил, хочу ли я восстановиться после .swp »> да; только первые 68 строк и последние 34 строки (начиная с 8 строк выше моего редактирования) были фактически восстановлены.
Затем я повторил тест с небольшими файлами: от 20 до 200 строк файл .swp содержал 100% исходного содержимого. Но при 300 строках в .swp были включены только первые 68 и 18 последних строк (начиная с 2 строк выше моего редактирования).
В заключение полезно знать, что vim всегда сохраняет «header» и «bottom» файла в файлах .swp. Может быть, есть настройка, чтобы контролировать, сколько строк должно содержать .swp?