Mit vim
können Sie folgendes tun:
$ db get stuff | vim -
Der -
Befehl vim
soll seine Texteingabe von stdin lesen.
Ich habe bei der Arbeit ein ziemlich cooles CSH-Skript gefunden, das eine häufig verwendete Abfrage an Postgres etwas freundlicher macht - außer, dass die Ausgabe in die Shell ausgegeben wird. Dies ist der Teil des Skripts, der die Ausgabe generiert:
psql "select datauri from grid where datauri like '%$%'" | awk -F '/' ''
Der Name des Skripts lautet "DB".
Ich habe versucht, diese Ausgabe direkt an einen Texteditor zu senden, um die Ausgabe einfacher zu gestalten:
$ db get stuff | emacs -nw
Ich bekomme nur eine leere Emacs (vi oder gedit).
Gibt es eine Möglichkeit, das Skript oder etwas anderes zu ändern, damit die Ausgabe direkt an einen Texteditor und nicht nur an die Shell gesendet wird?
Mit vim
können Sie folgendes tun:
$ db get stuff | vim -
Der -
Befehl vim
soll seine Texteingabe von stdin lesen.
Sie können das Skriptformular tatsächlich mit emacs ausführen, und es würde einen neuen Puffer für die Ausgabe erstellen. Verwenden Sie einfach M-!(was ausgeführt wird shell-command
), geben Sie den Befehl an und wechseln Sie dann zum *Shell Command Output*
Puffer.
Mit dem 'r'-Befehl von vim kann die Ausgabe eines Befehls in eine bestimmte Zeile eingefügt werden :10r !db get stuff
. '10r' fügt in die 11. Zeile ein und '!' ruft die Ausgabe des folgenden Befehls ab.