Wie bekomme ich einen navigierbaren (bearbeitbaren?) Puffer mit vims Nachrichten?

476
ELLIOTTCABLE

Wenn ich also einen Fehler von einem Plugin bekomme, möchte ich diesen Fehler gerne auf GitHub oder ähnlichem melden.

Leider kann die Maus nicht ausgewählt werden. und nachdem ich erschienen bin und mich gebeten habe, RETURN zu schlagen, scheint es für immer verschwunden zu sein.

  1. Ich habe entdeckt, dass ich die Fehler verursachen erscheinen wieder mit :messagesoder :3messagesoder ähnliches; aber sie erscheinen auf dieselbe Weise: nicht auswählbar, nutzlos.

  2. Ein anderer Stapler stellte eine ähnliche Frage, die den nützlichen Befehl ergab :let @+=v:errmsg- der jedoch nur die letzte Zeile der Nachrichten erfasst . Viele Fehler, die ich sehe, bestehen aus mehreren Zeilen, von denen ich alle auswählen möchte.

Bitte helfen Sie mir entweder A. ein drehen :messagesFenster in einen Puffer, so kann ich normale ebenfalls visuelle Auswahl verwenden zu kopieren, was ich außerhalb von Vim zu melden, oder zumindest B. etwas konstruiert ich meint werfen kann in .vimrcdem kopiert alle von die Zeilen des letzten Fehlers in meiner Zwischenablage.

Vielen Dank! (=

2

2 Antworten auf die Frage

2
Heptite

Try this:

:redir > messages.txt :messages :redir END :e messages.txt 

You can suppress output to the display while still capturing the messages output by changing :messages to :silent messages.

1
Andrew Radev

Die Antwort von Heptite ist eine gute Möglichkeit, dies mit eingebauten Ins zu tun. Wenn Sie mit einem Plugin zufrieden sind, automatisiert mein Bufferize- Plugin den Vorgang ein bisschen. Lass es einfach tun:

:Bufferize messages 

Um einen Vorschau-Puffer mit dem Inhalt der Befehlsausgabe zu erhalten.

Als Randbemerkung bin ich überrascht, dass die :messagesAusgabe nicht auswählbar ist. Vielleicht verwenden Sie Vim mit einer grafischen Benutzeroberfläche? Mit Terminal Vim können Sie den Inhalt auswählen und dann mit der mittleren Maustaste einfügen und einfügen.