Leiten Sie den Befehl ex in vim an STDOUT um

Ich versuche, einen Befehl zu erstellen, um die Hervorhebungsinformationen von vim an STDOUT zu senden. Ich kann erfolgreich in eine Datei wie diese schreiben:

vim +'redir >outfile' +'hi' +'redir END' +'q'

Danach,outfile enthält genau das was ich will. Aber ich möchte lieber STDOUT ausgeben, um zu einem Befehl weiterzuleiten, der diese Hervorhebungsinformationen in CSS konvertiert.

Dieser Ansatz versucht, den Befehl in ein Register umzuleiten, in den aktuellen Puffer zu schreiben und diese Ausgabe dann an zu sendentee.

vim -E +'redir @a' +'silent! hi' +'redir END' +'put a' +'w !tee' +'q!' > outfile

Dies ist ziemlich nahe dran, gibt aber am Ende eine führende Paging-Nachricht (255 weitere Zeilen ...) und etwas ANSI-Escape-Mist aus. Rahmennomore hat die Nachricht für mich nicht unterdrückt. Ich möchte die genaue Ausgabe an sendenoutfile im ersten Befehl an STDOUT.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage