Website-Suche

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.