Fzf – Eine schnelle Fuzzy-Dateisuche vom Linux-Terminal aus
Fzf ist ein kleiner, blitzschneller, universell einsetzbarer und plattformübergreifender Befehlszeilen-Fuzzy-Finder, der Ihnen beim schnellen Suchen und Öffnen von Dateien in Linux- und Windows-Betriebssystemen hilft. Es ist ohne Abhängigkeiten portierbar und verfügt über ein flexibles Layout mit Unterstützung für das Vim/Neovim-Plugin, Tastenkombinationen und Fuzzy-Autovervollständigung.
Das folgende GIF zeigt, wie es funktioniert.
Um Fzf zu installieren, müssen Sie das Github-Repository des fzf in ein beliebiges Verzeichnis klonen und das Installationsskript wie auf Ihrer Linux-Distribution gezeigt ausführen.
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
cd ~/.fzf/
./install
Nach der Ausführung des Skripts werden Sie aufgefordert, die Fuzzy-Autovervollständigung und Tastenzuordnungen zu aktivieren und Ihre Shell-Konfigurationsdatei zu aktualisieren. Beantworten Sie die Fragen mit y
(für Ja), wie im folgenden Screenshot gezeigt.
Auf Fedora 26 und höher sowie Arch Linux können Sie es wie gezeigt über einen Paketmanager installieren.
sudo dnf install fzf #Fedora 26+
sudo pacman -S fzf #Arch Linux
Nachdem Sie fzf installiert haben, können Sie es verwenden. Wenn Sie fzf ausführen, wird ein interaktiver Finder geöffnet. liest die Liste der Dateien aus stdin und schreibt das ausgewählte Element nach stdout.
Geben Sie einfach den Namen der gesuchten Datei in die Eingabeaufforderung ein. Wenn Sie es gefunden haben, klicken Sie auf die Eingabetaste und der relative Pfad der Datei wird in stdout ausgegeben.
fzf
Alternativ können Sie den relativen Pfad der gesuchten Datei in einer benannten Datei speichern und den Inhalt der Datei mit einem Dienstprogramm wie dem Befehl cat oder bcat anzeigen.
fzf >file
cat file
OR
bat file
Sie können es beispielsweise auch in Verbindung mit dem Befehl find verwenden.
find ./bin/ -type f | fzf >file
cat file
So verwenden Sie Fuzzy Completion in Bash und Zsh
Um die Fuzzy-Vervollständigung für Dateien und Verzeichnisse auszulösen, fügen Sie die Zeichen **
als Auslösesequenz hinzu.
cat **<Tab>
Sie können diese Funktion verwenden, während Sie mit Umgebungsvariablen in der Befehlszeile arbeiten.
unset **<Tab>
unalias **<Tab>
export **<Tab>
Dasselbe gilt für die Befehle ssh und telnet zur automatischen Vervollständigung von Hostnamen, die aus /etc/hosts und gelesen werden ~/.ssh/config.
ssh **<Tab>
Es funktioniert auch mit dem Kill-Befehl, jedoch ohne die gezeigte Triggersequenz.
kill -9 <Tab>
So aktivieren Sie fzf als Vim-Plugin
Um fzf als Vim-Plugin zu aktivieren, fügen Sie die folgende Zeile in Ihre Vim-Konfigurationsdatei ein.
set rtp+=~/.fzf
fzf wird aktiv weiterentwickelt und kann mit dem folgenden Befehl einfach auf die neueste Version aktualisiert werden.
cd ~/.fzf && git pull && ./install
Um die vollständige Liste der Nutzungsoptionen anzuzeigen, führen Sie man fzf aus oder schauen Sie sich das Github-Repository an: https://github.com/junegunn/fzf.
Lesen Sie auch: The Silver Searcher – Ein Tool zur Codesuche für Programmierer
Fzf ist ein blitzschneller und universeller Fuzzy-Finder für die schnelle Suche nach Dateien unter Linux. Es gibt viele Anwendungsfälle. Sie können beispielsweise eine benutzerdefinierte Verwendung für Ihre Shell konfigurieren. Wenn Sie Fragen oder Kommentare haben, erreichen Sie uns über das unten stehende Feedback-Formular.