%20%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B.png)
"~/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
vimdiff
Git はディレクトリから呼び出し~/Desktop/project
、ファイルをsrc/...
そのような相対パスとして渡しているように見えますが、Vim は'cdpath'
設定を参照し、そこにあるものにはディレクトリがないsrc/
ため、エラーが発生します (コマンドラインから)。
Git の正しい方法は./src/...
、 または絶対パスを使用することですが、これを変更するのはおそらく困難です。代わりに、CDPATH
環境変数を介して Vim のデフォルト値に影響を与えるか、 を入力して:set cdpath=
これら~/.vimrc
の検索を実質的に無効にすることができます。