Utilice %
als Ersatz für Ihren Dateinamen. Aber ich persönlich denke, dass Sie die :make
um genau das zu tun, was Sie wollen.
Früher habe ich genau das getan, was Sie vermeiden wollen: einfach ein zweizeiliges Makefile für jeden einzelnen Ordner, in dem ich mich befand, herausgehackt. Ich genoss :make
Quickfix-Unterstützung so sehr, dass die Erstellung eines zweizeiligen Makefiles nur ein kleiner Aufwand im Gesamtbild zu sein schien.
... Ich bin inzwischen eines Besseren belehrt worden. Sie können ein Autocmd oder ftplugin verwenden, um die makeprg
Option, die Konfiguration von :make
um den Befehl Ihrer Wahl auf der Grundlage des aktuellen Dateityps zu verwenden. Das erspart Ihnen an sich schon ein wenig Arbeit.
Das Problem beginnt, wenn wir mit einem Werkzeug arbeiten, dessen Fehlermeldungen nicht genau wie die des GCC aussehen. Um dies zu umgehen, bietet vim auch die errorformat
Option. errorformat
ist sehr anspruchsvoll. Wenn Sie wirklich etwas darüber lernen wollen, beginnen Sie mit :h error-format
. Langfristig gesehen ist die Ausgereiftheit wirklich großartig. Das bedeutet, dass man, wenn man erst einmal gelernt hat, damit umzugehen, praktisch alles analysieren kann. jede Compiler-Ausgabe und formatiert sie für die Anzeige mit quickfix ( :cope
o :cl
).
Kurzfristig kann das eine schlechte Sache sein, weil es bedeutet, dass Sie die ersten paar Male, wenn Sie ein Fehlerformat selbst zusammenhacken, eine Menge Zeit damit verbringen werden, die vimdocs zu durchforsten und Dateien neu zu laden und zu erstellen, die die verschiedenen Fehlermeldungen auslösen, die Ihr Compiler erzeugen kann. Das ist definitiv nicht das, was Sie wollen, wenn Sie nur kurz außerhalb Ihrer Komfortzone arbeiten, oder Ihr Chef Ihnen über die Schulter schaut und Sie drängt, diesen Fehler zu beheben. jetzt .
Hoffentlich (und wahrscheinlich) hat bereits jemand diesen Schmerz für Sie durchgestanden, und entweder errorformat
entsprechend für Ihren Standard ftplugin
oder es als Teil eines Vim-Skripts veröffentlicht, das sie nur darauf warten, dass die Gemeinschaft es installiert und bewundert.
Zur schnellen Demonstration hier ein paar Zeilen, die ich für meine .vim/ftplugin/haskell.vim
Datei:
setl makeprg=ghc\ --make\ %
setl errorformat=%E%f:%l:%c:,%C\ %.%m,%Z,%f:%l:%c:%m
Ich benutze setl
hier, damit diese Optionen nur für Haskell-Quelldateien konfiguriert werden; wenn ich gleichzeitig eine andere Art von Quelldatei bearbeite, kann es stattdessen eine andere Konfiguration verwenden.
Wenn Sie am Ende die :make
empfehle ich auch die Konfiguration Ihrer switchbuf
Einstellung. Ich fand es etwas lästig, nach einem Build Strg-O drücken zu müssen, wenn Quickfix sich aufregt und zur falschen Datei springt. Ich benutze:
set switchbuf=useopen,usetab,newtab