Ich möchte /dev/stdout
anstelle der Datei den gesamten Puffer in die Standardausgabe ( ) schreiben, und der folgende Befehl funktioniert beim Bearbeiten der Datei wie erwartet:
:w >> /dev/stdout
Tipp: Drücken Sie Control+ L, um den Bildschirm zu aktualisieren.
Aber es funktioniert nicht wie erwartet, wenn ich versuche, dasselbe über die Befehlszeile ( nicht interaktiv ) zu tun , zum Beispiel:
$ echo This is example. | vim - '+:w >> /dev/stdout' '+:q!'
Vim: Reading from stdin...
Das gleiche :w !tee
gilt für :x! /dev/stdout
,, :%print
und ähnliches.
Vor dem Beenden heißt es : [Device] 1L, 17C appended
.
Gibt es eine Möglichkeit, vim zu zwingen, die Standardeingabe in die Standardausgabe in der Mitte einer Pipe zu schreiben? Vielleicht ist es irgendwie gepuffert?
vim
anstelle von sed
(z. B. massenweise wiederholte komplexe Änderungen an mehreren großen Dateien) das Parsen von Dateien zu verwenden. Das Beispiel tut nichts, um es einfach zu halten und kein potenzielles Duplikat eines anderen Beitrags zu erstellen .