Vim でいくつかのものをコンパイルする関数を作成しました。次のようになります。
function! MyFunc(mode)
lcd ./build
pwd
let &makeprg='the_command some_script_file'
let &errorformat='some format'.','
let &errorformat.='%-G%.%#'
silent make
lcd ..
cwindow
endfunction
私は通常、プロジェクト ディレクトリで vim を開きます。この関数を実行すると、cd でビルドされ、ビルドされ、cd で戻るので、プロジェクト ディレクトリにとどまります。
ただし、ビルドが失敗してクイックフィックス ウィンドウが表示されると、プロジェクト ディレクトリに相対的なファイル名が表示されることがありますが (yay)、同じファイルに絶対パスが表示されることもあります。ビルド スクリプトからの出力は常に相対パスを示し、vim は両方を正しく処理します。つまり、正しいファイルを見つけます。
パス処理に責任があると思います。私の質問は、何が問題なのかということです。また、ビルド ディレクトリへの切り替えを処理するより良い方法はありますか? 常に相対パスを表示したい。
ありがとう!!