VIM (gvim / macvim)은 저장되지 않거나 명명되지 않은 버퍼에 대한 스왑 파일을 어디에 보관합니까? 작성했습니다 (일반적으로 절전 /

VIM (gvim / macvim)은 저장되지 않거나 명명되지 않은 버퍼에 대한 스왑 파일을 어디에 보관합니까? (그렇다면).

배경 :
반 강렬한 세미나를 통해 MacBook에 주스가 부족하고 전원이 꺼 졌을 때 이름이 지정되지 않은 / 저장되지 않은 MacVim 버퍼에서 메모를 작성했습니다 (일반적으로 절전 / 최대 절전 모드가 아님).

질문 :
저장되지 않은 작업이 복구 될 수있는 스왑 (.swp) 파일 등에 저장되었을 가능성이 있는지 아는 사람이 있습니까?

시스템 세부 정보 :
특히 Mac OS X 10.5.8에서 MacVim을 사용하여 발생했습니다 (그러나 다른 버전의 복구 힌트도 관심이 있습니다). MacVim을 다시 시작하지 않은 경우 정리 프로세스가 시작될 수 있습니다.



답변

vim을 시작하고 시도하십시오 :

:recover <filename>

파일 이름이 없으면 간단하게 다음을 수행하십시오.

:recover

그게 최선의 방법입니다. 스왑 파일 및 복구에 대한 자세한 내용은 다음을 참조하십시오.

:help usr_11

스왑 파일은 일반적으로 편집중인 파일과 동일한 디렉토리에 저장되지만. 숨겨지기 시작하고 끝에 .swp를 추가했지만 다음과 같은 방법으로 다른 곳으로 이동할 수 있습니다.

:set directory=~/vimswap

또는 유사합니다.

보다:

:help swap

모든 세부 사항.

vim 스왑 파일은 편집 된 버퍼와 동일하지 않으므로 복구를 위해 수행 할 수있는 작업을 읽어보십시오.

편집 : 질문에 대한 의견 :

[…] 현재 작업 디렉토리 인 ~ / tmp, / var / tmp 및 / tmp에서 스왑 파일을 찾은 것 같습니다. 제 경우에는 항상 현재 작업 디렉토리가 설정되어 있으며 그 곳에 저장되어 있습니다. – dsclementsen 10 월 5 ’10시 1:42

또한 vim -r 명령 행 arg를 확인하십시오. 찾은 모든 스왑 파일과 위치를 인쇄합니다. 또한 날짜 / 수정 / 사용자 이름 / 등과 같은 추가 정보가 많이 있습니다. – Neg_EV Oct 5 ’10 at 13:49


답변

Windows 10에서 작업 :recover하고 스왑 파일을 찾지 못했습니다. vim -r_.swp라는 마지막 편집 세션 (또한 저장되지 않은)의 스왑 파일을 나열했습니다. 로 복구 할 수있었습니다 :recover _.


답변

그 답은 모든 곳에서입니다. 트릭은 올바른 것을 찾는 것입니다. 일부는 / tmp 디렉토리에 있지만 대부분은 홈 디렉토리 아래에 있습니다.

이 작업을 수행하는 더 효율적인 방법이있을 수 있지만 이름이없는 파일 (MacBook)을 잃어 버렸을 때 다음이 저에게 효과적이었습니다.

홈 디렉토리에서 백업 파일을 검색하십시오 (몇 초가 걸리며 더 똑똑해질 수 있습니다).

find ./ -name ".s*" > findVimBackups.txt

열린 파일 :

vim findVimBackups.txt

명명되지 않은 파일의 백업용이 아닌 파일 이름을 제거하십시오.

:g!/\/\.s..$/d
:g/svn/d

이제 이름없는 백업 파일의 위치 목록이 표시됩니다. 각 디렉토리에서 오늘부터 파일을 찾을 때까지 다음을 실행합니다.

ls -ltra <directory>

올바른 디렉토리에 CD를 넣고 vim을 열고 : recover를 입력하고 올바른 백업을 선택하십시오.


답변

그것들은 작업 디렉토리에 끝날 것 같습니다. :pwd이것은 vim을 열 때마다 또는 다르게 사용 :cd하거나 유사하게 설정했을 수 있습니다 .

명명되지 않은 버퍼에 대한 스왑 파일은 파일 이름이 없으면 거기에 덤프 된 것처럼 보이므로 .swp .swn .swo 등으로 끝날 것입니다. 다른 접미사!

변경 사항이있는 명명되지 않은 버퍼가 많은 것이 원인 일 수 있으며이 버퍼를 삭제하면 미스터리 파일이 사라졌습니다.