Die Antwort auf Ihre direkte Frage lautet genauso wie bei @EvergreenTree. Ich habe jedoch das Gefühl, dass Ihnen einige der in Vim integrierten Tools zum Erstellen / Kompilieren / Flusen von Projekten fehlen. Vor allem :makeund die Quickfix-Liste.
Was bringt :makeuns die Nutzung ?
Mithilfe von :makekönnen Sie Ihre Fehler in einer Liste sammeln, die als Quickfix-Liste bezeichnet wird. Mit dem Quickfix können Sie zwischen den Fehlern in Ihren Dateien navigieren, sodass Sie direkt zu der Stelle springen, an der der Compiler den Fehler meldet (praktisch, oder?).
:machen
Läuft, :makewird das make-Programm ausgeführt 'makeprg'. 'errorformat'Analysieren Sie dann die Ausgabe mit und fügen Sie jeden Eintrag in die Quickfix-Liste ein.
Der Standardwert ist 'makeprg'normalerweise der makeBefehl, der a ausführt Makefile. Sie können dies jedoch 'makeprg'über den :compilerBefehl ändern oder direkt einstellen.
Sie können auch zusätzliche Argumente an übergeben :make. z.B:make clean
Hinweis: Beim Ausführen :makewird häufig die Ausgabe des Befehls am unteren Bildschirmrand mit der Aufforderung angezeigt, die Eingabetaste zu drücken. Drücken Sie einfach die Eingabetaste, da alle Ausgaben in der Quickfix-Liste verfügbar sind. Sie können dies unterdrücken, indem Sie :silentz :silent make.
Ein gebräuchlicher benutzerdefinierter Befehl für ein stilles Make lautet:
command -nargs=* -bar Smake silent make <args> <bar> cwindow
Quickfix-Liste
Nachdem Sie ausgeführt haben, enthält :makeIhre Quickfix-Liste die Ausgabe des Compilers.
Verwenden Sie den folgenden Befehl, um in der Quickfix-Liste zu navigieren.
:copen um das Quickfix-Fenster zu öffnen
:cclose um das Quickfix-Fenster zu schließen
:cnext/ :cprev, um zum nächsten / vorherigen Element zu wechseln
:ccum den aktuellen Fehler unten auszudrucken oder :cc 3einen bestimmten Fehler in diesem Beispiel anzuzeigen 3
Persönlich benutze ich Tim Popes unbeeinträchtigtes Plugin, um in der Quickfix-Liste zu navigieren.
Was ist mit :makeautomatischem und leisem Laufen ?
Sie können dies mit einem :autocmdwie Sie tun , wo.
augroup auto_make
autocmd!
autocmd BufWritePost * silent make
autocmd QuickFixCmdPost *make* cwindow
augroup END
Als Bonus habe ich beim Öffnen des Quickfix-Fensters hinzugefügt, :cwindowob Fehler vorliegen.
Hinweis: Sollte mit diesem BufWritePostDateimuster auf der AutocMD genauer sein, damit nicht verwandte Dateien nicht erstellt werden.
Gibt es noch mehr ?!
Hierfür werden nur einige der in Vim integrierten Befehle sowie einige automatische Befehle zum Überzeugen verwendet. Es gibt natürlich Plugins und Tools, die Ihnen helfen könnten
- Mit Dispatch.vim können
:makeJobs asynchron ausgeführt werden.
- Syntastic Plugin Syntax prüft Datei nach
:write.
- Ale.vim (Asynchronous Lint Engine) ist ein Plugin, mit dem Sie in NeoVim und Vim 8 Flusen erstellen können, während Sie Ihre Textdateien bearbeiten.
- Unimpaired.vim vereinfacht die Verwaltung der Quickfix-Liste.
- Einfache alte Makefiles. Es
./script.shsei denn, Ihr ist sehr kompliziert, möchten Sie vielleicht make verwenden. Es kann später skaliert werden, um mehr Aufgaben zu erledigen, und ist ein gängiges Erstellungswerkzeug.
- Sie können Vim Awesome verwenden , um nach weiteren Plugins zu suchen, die möglicherweise hilfreich sind.
Fazit
Persönlich integriere ich :makeund den Quickfix in meinen eigenen Workflow. Ich glaube, dass es sich lohnt, die Ergebnisse Ihres Build-Prozesses und die Fehler zu erfassen. Als zusätzlichen Bonus werden Sie möglicherweise mit der Quickfix-Liste vertraut und können die Liste für andere Anwendungen wie verwenden :grep.
Weitere Hilfe finden Sie unter:
:h :make
:h quickfix
:h 'makeprg'
:h 'errorformat'
:h :compiler
:h :copen
:h :cwindow
:h :cnext
:h :cc