Schneller Sprung zum Verzeichnis von der Shell aus

Schneller Sprung zum Verzeichnis von der Shell aus

Texteditoren wie Vim und Emacs verfügen über Plugins wie Ace Jump und Avy, mit denen Sie ein Zeichen drücken können. Dann wird jede Instanz dieses Zeichens mit einer temporären Tastenkombination hervorgehoben. Anschließend können Sie die Tastenkombination drücken, um direkt dorthin zu springen.

Ich frage mich, ob es so etwas für Shells (z. B. Bash) gibt, um schnell zu einem bestimmten Verzeichnis zu navigieren, ohne sich cddurch Verzeichnisse bewegen zu müssen. Vielleicht etwas, das Verzeichnisse bis zu einer bestimmten Tiefe auflistet, auf ein eingegebenes Zeichen wartet, Zeicheninstanzen mit einer Tastenfolge hervorhebt und cdhineingeht, wenn die Folge gedrückt wird?

Wenn es so etwas noch nicht gäbe, wie einfach wäre es, es zu schaffen?

Antwort1

fzftut das. Es ist ein Fuzzy-Vervollständigungs-/Dateiauswahl-Helfer. Seine grundlegende Verwendung ist die Auswahl von Dateien aus einer großen Liste (z. B. find . -type f | fzf > selected).

Sobald Sie es installiert und in Ihre Shell geladen haben, können Sie drücken, um ein Fenster zu öffnen, in das Sie eine Fuzzy-Zeichenfolge eingeben können, um Verzeichnisse zu finden. Wenn Sie ein Verzeichnis auswählen und die Eingabetaste drücken, wird fzf zu diesem Verzeichnis AltCweitergeleitet .cd

Um Dateinamen auf die gleiche Weise automatisch zu vervollständigen, können Sie drücken CtrlT. Um den Verlauf zu durchsuchen, drücken Sie CtrlR.

Antwort2

Vielleicht ist es nicht genau das, was Sie wollen, aber ich denke, es ist einen Versuch wertWCD. Es erstellt eine „Datenbank“ (eine einzelne Textdatei), in der die Liste der Verzeichnisse gespeichert ist. Der wcd fooBefehl zeigt eine Liste der Verzeichnisse an, die Folgendes enthalten, foound Sie können eines davon auswählen.

Eine weitere ähnliche Option istautomatischer Sprung.

Antwort3

Es gibt verschiedene Shells und Shell-Erweiterungen, die unterstützenteilweise Pfad-AutovervollständigungUndFischIst einer von ihnen

Beispielsweise cd /v/l/fsck Tabwird der Pfad in konvertiert /var/log/fsck/. cd /u/s/appl Tabwird der Pfad in erweitert ./usr/share/applications/

Einige andere Alternativen:

Siehe auch

verwandte Informationen