Vim Dateipfade im Quickfix-Fenster

8

Ich habe eine Funktion in Vim gemacht, die mir ein paar Sachen kompiliert. Es sieht so aus:

%Vor%

Normalerweise öffne ich vim in einem Projektverzeichnis, dann kann ich diese Funktion ausführen, welche CD's in Build, Builds und CD's zurück gebaut werden, damit ich in meinem Projektverzeichnis bleibe.

Wenn der Build jedoch fehlschlägt und das Quickfix-Fenster angezeigt wird, zeigt es manchmal Dateinamen relativ zu meinem Projektverzeichnis (yay) an, aber manchmal zeigt es in derselben Datei den absoluten Pfad an. Die Ausgabe aus dem Build-Skript zeigt immer relative Pfade an, und vim behandelt beide korrekt, d. H. Es findet die korrekte Datei.

Ich vermute, dass die Pfadbehandlung verantwortlich ist. Meine Frage ist, was ist das Problem, und gibt es eine bessere Möglichkeit, in das Build-Verzeichnis und zurück zu wechseln? Ich möchte immer relative Pfade angezeigt.

Danke !!

    
Christoph 24.05.2012, 18:34
quelle

2 Antworten

3

Ich denke, das hat mit lcd zu tun. Wenn das Quickfix-Fenster von Ihrer Funktion aus geöffnet wird, übernimmt es das lokale Verzeichnis aus dem aktuellen Fenster. Aber wenn das Quickfix-Fenster von irgendwo anders (oder vor dem Ausführen der Funktion) geöffnet wurde, behält es das globale Arbeitsverzeichnis bei. Wenn es eine Abweichung gibt, muss Vim absolute Pfade anzeigen.

Wenn Sie :lcd wirklich verwenden müssen, wäre es besser, eine Standortliste ( :lmake ) zu verwenden, da diese auch lokal für das Fenster ist. Aber ich würde zuerst versuchen, ein globales :cd zu verwenden, da der Schalter sowieso nur temporär ist und es dir nicht wichtig ist, den tatsächlichen ursprünglichen Wert so weit wiederherzustellen.

    
Ingo Karkat 30.10.2012 15:04
quelle
0

Wie Ingo schon sagte, sind die Pfade relativ zum aktuellen Verzeichnis des Quickfix-Fensters, das vom vorherigen Fenster übernommen wurde.

Sie können autocmd QuickFixCmdPre verwenden, um vor dem Ausführen des make den richtigen Pfad festzulegen.

Wenn Sie das Project Root-Plugin verwenden, fügen Sie Ihrem .vimrc Folgendes hinzu:

%Vor%

, dann wird der Pfad des Quickfix-Fensters korrigiert, bevor er von :make gefüllt wird (Sie können auch eine Reihe anderer Befehle angeben, die Quickfix-Fenster verwenden: grep,lgrep,cscope ).

    
mMontu 30.01.2014 18:50
quelle

Tags und Links