git difftool로 모든 파일을 열기 전에 vim(vimdiff) 오류 발생

git difftool로 모든 파일을 열기 전에 vim(vimdiff) 오류 발생
"~/Desktop/project/file.txt" [readonly] 81L, 2480C
Error detected while processing command line:
E344: Can't find directory "src/" in cdpath
E472: Command failed
Press ENTER or type command to continue

^ 이 오류는 모든 파일을 열기 전에 나타납니다. 오류가 어디서 발생하는지 전혀 알 수 없습니다. 오류가 표시되고 ... while processing command line:비어 있기 때문입니다...

이것을 호출하는 데 사용하는 명령은 다음과 같습니다.git difftool

또한 내가 이것을 호출할 때 내가 있는 디렉토리는 이며 ~/Desktop/project/src, Can't find directory "src/".

답변1

git difftool을 사용할 때도 비슷한 문제가 발생했습니다. .vimrc또는 플러그인을 확인하세요 lcd %:p:h. 전화할 때 다음을 추가하여 문제를 해결했습니다 lcd %:p:h.

if !&diff
  lcd %:p:h
endif

답변2

vimdiffGit이 디렉터리 에서 호출 ~/Desktop/project하고 다음과 같이 파일을 전달하는 것처럼 보입니다. src/...이러한 상대 경로를 사용하면 Vim은 설정을 참조 'cdpath'하고 거기에 있는 모든 항목에는 디렉터리가 없으므로 src/오류가 발생합니다(명령줄에서). .

Git의 올바른 방법은 이나 절대 경로를 사용하는 것이지만 ./src/...아마도 변경하기 어려울 것입니다. 대신, CDPATH환경 변수를 통해 Vim의 기본값에 영향을 주거나 , 환경 변수 :set cdpath=를 입력 하여 ~/.vimrc이러한 조회를 실질적으로 비활성화할 수 있습니다.

관련 정보