Vorschau des aktuellen Verzeichnisses in der Shell

Vorschau des aktuellen Verzeichnisses in der Shell

Wenn ich in einer Shell (zsh) arbeite, passiert es oft, dass ich cdirgendwo bin und einen schnellen Blick auf das Verzeichnis werfen möchte. Die Verwendung lserzeugt möglicherweise eine Menge Ausgabe und lässt diese im Terminal. Die Verwendung ls | lessist besser, hinterlässt jedoch wieder Spuren, wenn ich beende. lessDie gesamte Ausgabe ist noch da. Haben Sie eine Idee, wie ich so etwas machen kann, ls | lessaber wenn ich beende less, bleibt der Terminalbildschirm unberührt.

Antwort1

Bei mir lessverhält es sich wie beschrieben - ich muss verwenden, less -Xumdeaktivierendieses Verhalten.

Sie könnten versuchen, explizit die Option "alternativer Bildschirmpuffer", die viele Terminals implementieren.

vimDies wird von Editoren wie / verwendet nano, sodass das Terminal beim Beenden in den vorherigen Zustand zurückversetzt wird.

Versuche dies:

tput smcup
ls | less
tput rmcup

Wenn tputdies nicht verfügbar ist, versuchen Sie es mit echo $'\e[?1049h'/ echo $'\e[?1049l'bzw.

Antwort2

Da Sie erwähnen, dass Sie zsh verwenden, können Sie die in zsh integrierte Tab-Vervollständigung nutzen. Sie erhalten keine „lange“ ls-Liste, können aber eine Vorschau der Namen von Verzeichnissen und Dateien anzeigen, indem Sie „ls“ gefolgt von einer Tabulatortaste eingeben. Sie sehen, welche Dateien/Verzeichnisse Sie in Ihrem aktuellen Arbeitsverzeichnis möglicherweise „ls“ verwenden könnten, und können dann entweder gezielt eins mit „ls“ verwenden, ein „-l filename“ hinzufügen, um ein bestimmtes Verzeichnis im Detail anzuzeigen, oder einfach „Strg-u“ drücken, um die Zeile zu löschen, in der Sie sich befinden, und sich darauf vorbereiten, einen anderen Befehl einzugeben. Die Vorschläge zur Tab-Vervollständigung werden dann ausgeblendet.

Wenn ich beispielsweise auf einer meiner VMs "ls "[TAB] drücke, wird mir Folgendes angezeigt:

user@fbsd:~% ls
.cshrc                   .mailrc                  .ssh/
.login                   .profile                 .zshrc
.login_conf              .rhosts                  code/
.mail_aliases            .shrc                    inventory.hw.gather.sh*

Wenn ich Strg-U drücke, verschwinden die Vorschläge unter meiner Befehlszeile.

verwandte Informationen