Gibt es eine Möglichkeit, die Ergebnisse von ": ls" in eine Datei zu schreiben?

9

Ich habe momentan eine Reihe von Splits und es hat eine Weile gedauert, bis ich diese Dateien gefunden habe (im Grunde jage ich einen Fehler durch 50 miteinander verbundene Dateien).

Gibt es einen solchen Befehl :ls > /tmp/filelist, der die aktuellen Splits / Puffer, die ich geöffnet habe, in eine Datei schreibt?

user2635263
quelle
1
Ich habe Ihre Frage anfangs falsch verstanden, aber ich glaube, das ist, wonach Sie suchen: stackoverflow.com/questions/2573021/…
jmathew
Ist es das, was Sie wollen: Wie speichere ich Fenster-, Split- und Pufferlayout ? Oder wollen Sie nur die Liste der Puffer?
Martin Tournoij
@jmathew das ist genau das, wonach ich gesucht habe. Ich wusste nie über die Redir-Funktion, das ist sehr nützlich
user2635263

Antworten:

9

Sie können die folgenden 3 Befehle ausprobieren:

:redir > filelist.txt | :ls | :redir END

redi[r][!] > {file}Nachrichten in Datei umleiten {file}. Die Nachrichten, die die Ausgabe von Befehlen sind, werden in diese Datei geschrieben, bis die Umleitung endet.

Um zu verhindern, dass Nachrichten und Befehle auf dem Bildschirm wiedergegeben werden, fügen Sie die Befehle in eine Funktion ein und rufen Sie sie mit auf :silent call Function(). Eine Alternative ist die Verwendung der verbosefileOption, die in Kombination mit verwendet werden kann :redir. Der Unterschied :redirbesteht darin, dass ausführliche Nachrichten nicht angezeigt werden, wenn sie verbosefilefestgelegt sind.

Siehe : :help redir.

Kenorb
quelle