Wie kann ich die Ausgabe von stdout in vim umleiten?
766
Human
Ich möchte die Ausgabe von echoin vim anzeigen und nach dem Betrachten in eine Datei speichern. Ich habe es versucht echo $PATH | vim, erhalte aber folgende Fehlermeldung:
Vim: Warning: Input is not from a terminal Vim: Error reading input, exiting... Vim: Finished.
Was kann ich machen?
https://askubuntu.com/questions/510890/how-do-i-redirect-command-output-to-vim-in-bash
bertieb vor 6 Jahren
0
2 Antworten auf die Frage
4
Ingo Karkat
Das -Dateinamenargument fehlt, das Vim anweist, den Puffer von stdin zu füllen. cp.:help --
echo $PATH | vim -
Alternativ können Sie die Prozessersetzung Ihrer Shell verwenden, um einen temporären Dateideskriptor zu erstellen und Vim diese "virtuelle" Datei bearbeiten zu lassen.
vim <(echo $PATH)
Wenn Sie Vim anstelle von weniger / mehr als Pager verwenden, versuchen Sie `| vim -R -` zum Deaktivieren der "Änderungen speichern" Beim Beenden auffordern.
John Kugelman vor 6 Jahren
0
2
DavidPostill
Wie kann ich die Ausgabe von stout in vim umleiten?
Ihre Frage wurde auf AskUbuntu beantwortet.
Die einfachste Lösung ist, -zu Ihrem Befehl hinzuzufügen :
echo $PATH | vim -
Sie können die Prozessersetzung verwenden (dies funktioniert auch bei Anwendungen, aus denen nicht gelesen werden kann STDIN):
vim <(ls -la)
Oder nutzen Sie vimdie Funktion zum Lesen von STDIN: