vim (vimdiff)-Fehler vor dem Öffnen jeder Datei mit git difftool

vim (vimdiff)-Fehler vor dem Öffnen jeder Datei mit git difftool
"~/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

^ Dieser Fehler tritt vor dem Öffnen jeder Datei auf. Ich habe keine Ahnung, woher der Fehler kommt, denn es heißt ... while processing command line:, und dann ist es leer ...

Der Befehl, den ich verwende, um dies aufzurufen, istgit difftool

Außerdem befinde ich mich beim Aufrufen in dem Verzeichnis ~/Desktop/project/src, und ich gehe davon aus, dass dort auch die abgerufen werden Can't find directory "src/".

Antwort1

Ich hatte ein ähnliches Problem bei der Verwendung von git difftool. Suchen Sie in Ihren .vimrcPlugins nach lcd %:p:h. Ich habe das Problem gelöst, indem ich beim Aufruf Folgendes hinzugefügt habe lcd %:p:h:

if !&diff
  lcd %:p:h
endif

Antwort2

Es sieht so aus, als würde Git vimdiffaus dem ~/Desktop/projectVerzeichnis aufgerufen und übergibt Dateien. src/...Bei einem solchen relativen Pfad prüft Vim die 'cdpath'Einstellung und was auch immer sich dort befindet, hat kein src/Verzeichnis und daher tritt der Fehler auf (von der Befehlszeile aus).

Der richtige Weg für Git wäre die Verwendung von ./src/...oder eines absoluten Pfads, aber das lässt sich wahrscheinlich nur schwer ändern. Stattdessen können Sie den Standardwert von Vim über die CDPATHUmgebungsvariable beeinflussen oder einfach :set cdpath=Ihre eingeben, ~/.vimrcum diese Suchvorgänge pragmatisch zu deaktivieren.

verwandte Informationen