참고 : 사용중인 운영 체제를 말하지 않았습니다. 다음은 Unix 쉘에서 작동하지만 Windows를 실행하는 경우 베어 본 Cygwin 또는 다른 쉘을 다운로드 할 수 있습니다.
나는 당신과 같은 일을했고 :e, 같은 파일을 다시 열어서 복구 파일을 삭제하는 옵션을 얻었습니다. 충돌 또는 예기치 않은 컴퓨터 재시작 vim -r후 스왑 파일에서 실행 하고 복구가 진행되도록하여 나머지 Vim 복구 파일을 모두 정리 합니다.
파일이 변경 되지 않은 경우
파일이 변경되지 않은 경우 복구 파일을 즉시 삭제하고 싶습니다. Vim이 자동으로이 작업을 수행 할 수 있으면 좋지만 불행히도 그렇지 않습니다.
파일이 변경된 경우
파일이 변경되면 DiffOrig명령을 실행 하여 원래 버전과 복구 된 버전의 차이점을 비교합니다. 복구 파일의 변경 사항에 만족하면 :x명령을 사용 하여 파일을 저장하여 종료합니다 . 그렇지 않은 경우로 종료하여 복구 된 변경 사항을 삭제합니다 :q!. 복구 파일이 저장된 파일과 연결되어 있지 않은 경우 (예 :)는 .swp보통 :w filename복구 된 버퍼를 파일 이름을 가진 파일에 저장하는 데 사용합니다 .
DiffOrig 도우미
항상 사용할 수 있도록 DiffOrig 명령을 추가했습니다 .vimrc.
command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis
쉘 스크립트
쉘에서 다음 스크립트를 실행하여 현재 디렉토리 트리에서 모든 스왑 파일을 찾습니다. 그런 다음 각 스왑 파일을 사용하여 "복구 모드" 에서 Vim을 열고 Vim을 닫은 후에 삭제됩니다.
find . -type f -name '.*.sw?' -exec vim -r "{}" -c DiffOrig \; -exec rm -iv "{}" \;
rm -i옵션을 확인 (필요 y파일을 삭제). 자신감이 있고 프로세스 속도를 높이려면 생략 할 수 있습니다.
:e #트릭이 이상적이지는 않지만 아래의 현재 답변보다 여전히 유용하다는 것을 알았습니다 . :-)