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


52

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

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

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

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


1
설명 : 저장되지 않은 것은 결코 저장되지 않은 것을 의미합니다. Command-T (나는 : tabe와 동등하다고 생각합니다)를 눌러 파일을 만들었습니다. 즉, 명명되지 않은 새 버퍼가 새 탭에서 열립니다. (나중에 보통 ': sav somefilename'을 수행합니다.
davur

중요하지 않습니다. 내 답변에 대한 추가 사항을 참조하십시오.
frabjous

답변:


60

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


이것은 도움이되지 않습니다. 구원받지 못했다는 것은 결코 구원받지 않았다는 의미입니다. 의미 : : tabe 또는 (Command + T)로 새 버퍼를 열었습니다. 우리는 저장되지 않은 / 이름없는 버퍼에 대해 이야기하고 있습니다. 이런 종류의 저장되지 않은 작업이 저장되는 기본 위치가 있습니까?
davur

3
:recover파일 이름없이 시도하십시오 . 방금 명명되지 않은 파일을 복구하기 위해 테스트했으며 작동했습니다. 어쨌든 해당 명령이 도움이되지 않더라도 해당 도움말 파일을 읽는 것이 좋습니다.
frabjous

1
내가 말할 수있는 한. 방금 새 파일을 편집하는 동안 vim을 외부에서 죽여서 테스트했습니다. 그러나 내가 recover논증없이 달렸 을 때 , 그것은 오래된 세션 중에서도 선택할 수있게했습니다. 어쨌든, unnmaed 버퍼에 대한 .swp 파일은 / tmp에 있지만 아마도 가지고 있는지에 따라 다른 곳에있을 것 set directory= <something>입니다.
frabjous

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

1
:recover!저장하지 않은 파일을 복구 하려면 명령을 사용해야했습니다 .

2

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


1

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

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

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

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

열린 파일 :

vim findVimBackups.txt

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

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

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

ls -ltra <directory>

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


0

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

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.