git difftoolですべてのファイルを開く前のvim(vimdiff)エラー


0
"~/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

0

Gitはディレクトリvimdiffから呼び出しているように見え、そのような相対パス~/Desktop/projectを使用してファイルを渡しますsrc/...。Vimは'cdpath'設定を調べ、そこにあるものはすべてsrc/ディレクトリを持たないため、エラーが発生します(コマンドラインから) 。

Gitの正しい方法は./src/...、または絶対パスを使用することですが、変更するのはおそらく難しいでしょう。代わりに、CDPATH環境変数を介してVimのデフォルト値に影響を与えたり、単にこれらを入れ:set cdpath=~/.vimrcこれらのルックアップを実用的に無効にしたりできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.