답변:
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 등이 생성되는데, 이는 해당 지점까지의 스왑 부분 합으로 나타납니다. 원하는 버전으로 되돌리고 편집 (~ = 포크) 또는 저장 (~ = 스 태시) 할 수 있습니다. 결국 스왑 파일을 압축 해제하고 백업을 데몬화할 수 있습니다. 더 큰 파일의 경우 세부 정보가 잘못 될 수 있습니다. 추가 스왑 파일에 어떤 영향을 미치는지 잘 모르겠습니다. 아래를 참조하십시오.
vim을 사용하여 원본 파일을 열고 복구 옵션을 선택하십시오.
Vegar Westerlund와 Heptite 의견을 읽은 후 vim이 .swp 파일에서 복구하기 위해 원본 파일 (또는 백업)이 어느 시점에 필요한지 알고 싶었습니다. 다음과 같은 작업이 수행되었습니다.
975 줄 파일을 열고 949 줄에서 파일을 편집하고 ( .swp
파일 작성 ) 프로세스를 종료 한 다음 원본을 삭제했습니다. $ vim Original_File
.swp»> yes에서 복구 할 것인지 묻습니다. 처음 68 줄과 마지막 34 줄 (내 편집 위의 8 줄부터 시작) 만 실제로 복구되었습니다.
그런 다음 작은 파일로 테스트를 반복했습니다. 20 줄에서 200 줄까지 .swp 파일 에는 원본 내용 의 100 %가 포함되었습니다 . 그러나 300 줄에서 처음 68 줄과 18 줄의 마지막 줄 (내 편집보다 2 줄부터 시작)이 .swp에 포함되었습니다.
결론적으로 vim은 항상 파일의 "헤더"와 "하단"을 .swp 파일에 저장한다는 것을 아는 것이 좋습니다. .swp에 몇 줄을 포함해야하는지 제어하는 설정이 있습니까?