An meiner Seite bestand die Lösung darin, silent
häufiger in einer Befehlskette zu verwenden .
Speziell vorher .vimrc
hatte:
nnoremap M :silent make\|redraw!\|cc<CR>
Dies wurde geändert in:
nnoremap M :silent make\|silent redraw!\|silent cc<CR>
Vorher tauchte die "Drücken Sie ENTER" nicht immer auf, aber ärgerlich oft. Die zusätzlichen silent
s haben dies behoben. (Es sieht so aus, als würde silent
es nicht benötigt, redraw!
da :cc
die Meldung "ENTER drücken" ausgelöst wurde.)
Diese Änderung hat den Nachteil, dass die Ausgabe von nicht mehr angezeigt :cc
wird. Sie müssen also raten, was der Fehler ist. Eine kleine Änderung behebt dies:
nnoremap M :silent make\|redraw!\|cw\|silent cc<CR>
Dadurch wird die Fehler-QuickFix-Liste (Ausgabe von make
) automatisch angezeigt (und von vim-magic ausgeblendet , wenn kein Fehler vorliegt).
Zu Ihrer Information:
Die Motivation für diese M
Zuordnung besteht darin, einfach M
im Normalmodus zu drücken, um:
- Speichern Sie die Bearbeitung (wenn Sie verwenden
make
, ist git
sowieso alles unter Kontrolle)
- aufrufen
make
- und direkt zum ersten Fehler oder zur ersten Warnung springen
Meine Makefile
s sind normalerweise so aufgebaut, dass dies nur einen Bruchteil einer Sekunde dauert.
Mit ein wenig Optimierung kann dies auch auf C
Workloads ohne Typ angewendet werden :
Zusätzlich .vimrc
hinzufügen
set efm+=#%t#%f#%l#%c#%m#
Dies ermöglicht vim
die Interpretation von Meldungen wie folgt für :cc
(Anzeigefehler):
#E#file#line#column#message#
#W#file#line#column#message#
#I#file#line#column#message#
( E
Spiegel, W
Arnings, I
nfo, basierend auf vim
Magie)
Beispiel, wie dies für Python-Skripte verwendet wird . (Sorry, keine Kopie hier, es ist eine andere Geschichte.)
set dir=$TEMP
Ihr vimrc einzutragen. Dies weist vim an, den richtigen temporären Ordner für seine temporären Dateien zu verwenden. Dies behebt wiederum die Fehler und entfernt die Eingabeaufforderungen "Drücken Sie die Eingabetaste".