So erfassen Sie Fehler aus make im Terminalfenster

8

Der Versionshinweis von Vim 8.1 scheint darauf hinzudeuten, dass Sie die Ausgabe von make in einem Terminalfenster in eine Quickfix-Liste einspeisen können, aber ich konnte keine detaillierte Erklärung finden. Gibt es eine Möglichkeit, dies automatisch zu tun, oder muss ich die Quickfix-Liste manuell mit hinzufügen :caddbuffer?

Sora Minazuki
quelle
Ist das üblich? Für welche Art von Aufgabe ist das? Die häufigsten Quickfix-Anwendungen sind Flusen und Greppen. Wenn Sie fusseln, verwenden Sie :makeoder ALE . Wenn Sie suchen, verwenden Sie :grep. Andernfalls müssen Sie wahrscheinlich etwas tun :cgetbufferoder eher <c-w>Ndie Ausgabe ziehen,:cexpr @@
Peter Rincker
1
"Die erkannten Fehler können abgefangen und einer Quickfix-Liste hinzugefügt werden, sodass Sie direkt zur Ursache des Problems springen können." OP will nur wissen, was die Person, die das geschrieben hat (Bram?), Bedeutete.
Messe
@PeterRincker Ich benutze oft :makeund :grep, aber es stört mich, wie es den gesamten Editor blockiert, während er läuft. Die Verwendung des Terminalfensters wie im Versionshinweis scheint eine vielversprechende Alternative zu sein. Die Passage in der Pressemitteilung, die @Mass metioniert hat, scheint darauf hinzudeuten, dass es einen einfachen Weg gibt, dies zu tun, aber ich bin mir nicht sicher.
Sora Minazuki
2
Siehe github.com/vim/vim/issues/2955
Christian Brabandt

Antworten:

2

Ich habe einen kleinen Plugin- Vpager gemacht . Dadurch kann der Terminalausgang wieder in Vim ausgegeben werden.

Das letzte Commit ermöglicht es außerdem, die Ausgabe zu verwenden und in die Quickfix-Liste zu kopieren. Sie können dies also einfach tun :make |vpager -Qund es sollte wieder in Vim geladen werden.

(Möglicherweise müssen Anpassungen für die Fehlerformateinstellung vorgenommen werden, nicht sicher).

Auszug aus der README :

git diff | vpager -nC 'ft=diff'

  Copies the output of git diff into a buffer inside Vim. Any previous
  output in the buffer will be cleared and the filetype will be set
  to "diff", for proper syntax highlighting.

  grep -n <searchterm> files | vpager -Q

  Parses the grep -n output, copies it back into the quickfix buffer
  and opens the first result in a new window.
Christian Brabandt
quelle
2

Ich denke, caddbufferderzeit ist der beste Weg, um das zu erreichen, was ich will.

Sora Minazuki
quelle