Vim VM에서 생성된 .swp 파일이 존재하며 Vim이 이를 무시합니다.

Vim VM에서 생성된 .swp 파일이 존재하며 Vim이 이를 무시합니다.

Linux 가상 머신 내부의 Vim에서 파일을 연 다음 Windows 호스트에서 파일을 열려고 했더니원하지 않는다"스왑 파일 blah.swp가 이미 존재합니다!"라는 경고 표시(파일이 게스트와 공유됩니다.) 이 경고가 내가 다른 곳에서 파일을 편집했는지 알 수 있는 유일한 방법이기 때문에 필요합니다. , 가상 머신에서!

먼저 Windows에서 파일을 편집한 다음 가상 머신에서 Linux의 Vim을 사용하든, Linux 가상 머신에서 파일을 편집한 다음 Windows의 Vim에서 파일을 열든 결과는 동일하고 경고가 표시되지 않습니다. Linux에서 Windows까지 동작이 동일하다고 말할 수 있습니다. 두 경우 모두 Vim은 .swo(내 생각에는) 그래야 한다고 불평하지 않고 자동으로 파일을 생성합니다. 그러나 파일이 이미 VM에 열려 있지만 VM에서 두 번째로 열리면하다Windows에서도 같은 일이 발생하므로 주의하세요(내 Vim 설정에 대해 궁금한 분들을 위해).

독서는 :help recovery어떤 정보도 제공하지 않습니다. 두 경우 모두 버전은 Vim 7.4입니다.

답변1

Vim이 스왑 파일이 편집된 파일에 속하는 것으로 인식하지 못하는 것 같습니다.

Vim 스왑 파일에는 편집된 파일의 경로 이름이 포함되어 있습니다. 편집된 파일이 아닌 다른 디렉터리에 스왑 파일을 넣을 수 있으므로 이는 의미가 있습니다. 분명히 Vim은 발견된 스왑 파일의 경로 이름이 편집할 파일과 일치하는지 확인합니다. 한 경로는 Linux VM에 있고 다른 경로는 Windows에 있으므로 귀하의 경우에는 해당되지 않습니다.

불행하게도 Vim 매뉴얼에서는 이 이론에 대한 증거를 찾을 수 없고, 지금은 소스 코드에서 이를 검증할 시간도 없습니다.

답변2

이 문제가 여전히 발생하는지 확인하기 위해 시스템을 재부팅하고 싶었고 확실히 문제가 해결되었으므로 이것은 일시적인 이상한 일인 것 같습니다. 다른 사람이 이 질문을 볼 경우를 대비해 이 스레드를 보관하겠습니다. 비슷한 VM 설정을 사용하여 다른 컴퓨터에서 동일한 작업을 수행한 것을 기억하고 문제가 발생하지 않았기 때문에 이 솔루션을 처음 생각했습니다. 사실 그렇습니다. 다른 컴퓨터에서도 같은 일이 발생합니다.했다경고를 표시해야 합니다. 따라서 다시 시작한 후에 경고가 다시 나타납니다.

관련 정보