я попробовал открыть .swp-файл с помощью vi
и cat
но он выводит мусор.
Как я могу восстановить исходный файл из a.swp-файл?
5 ответов
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 для восстановления последней изменения. Если у вас нет резервной копии файла действительно повезло.
откройте исходный файл с помощью vim и выберите опцию восстановления.
1 Откройте файл подкачки .file.swp
in vim
2 :recover
восстановит ваш файл
после прочтения комментариев Вегара Вестерлунда и Хептита я хотел знать, в какой момент vim нужен исходный файл (или резервная копия) для восстановления из a .swp-файл. Вот что получилось:
Я открыл файл 975 строк, отредактировал его в строке 949 (создав .swp
файл) и убил процесс, а затем удалил оригинал. $ vim Original_File
спросил, хочу ли я восстановиться .swp " > да; только первые 68 строк и последние 34 строки (начиная с 8 строк выше моего редактирования) были на самом деле восстановленный.
затем я повторил тест с меньшими файлами :от 20 до 200 строк.swp-файл содержит 100% от исходного содержание. Но в 300 строках были включены только первые 68 и 18 последних строк (начиная с 2 строк выше моего редактирования).swp.
В заключение хорошо знать, что vim всегда сохраняет "заголовок" и "дно" файла в файле .swp-файлы. Может быть, есть настройка, чтобы контролировать, сколько линий должно быть .ППВ содержит?
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]