Einführung
Fzf ist ein Befehlszeilen-Tool. Damit sucht man nach Dateien und Verzeichnissen.
Man installiert fzf unter Debian mit:
sudo apt install fzf
Üblicherweise gibt man fzf in der Befehlszeile ein und drückt Enter (mit Vorteil, nachdem man mit cd beispielsweise ins Home-Verzeichnis gewechselt hat). Dadurch wird eine Liste von Dateien inkl. ihren Pfaden aufgebaut. Zuunterst ist immer Platz für einen Sucheintrag.
Schreibt man dort irgendwas rein, wird die Liste ersetzt durch eine andere mit Pfaden, in deren jedem die Buchstaben oder anderen Zeichen des Eintrags sichtbar werden, aber nicht unbedingt zusammenhängend, nur in der gleichen Reihenfolge. Im folgenden Beispiel lautet der Eintrag am Anfang sc. Schreibt man weiter, wird die Liste immer wieder aktualisiert.
Einzeiler
Fzf kann auch in sogenannten Einzeilern verwendet werden. Einzeiler sind kurze Befehlszeilen, die üblicherweise aus einer einzigen Zeile bestehen und verschiedene Befehle kombinieren, um komplexe Aufgaben auszuführen. Fzf kann beispielsweise mit anderen Befehlen wie etwa find, grep und ls kombiniert werden, um die Suche und Navigation in Dateisystemen zu erleichtern.
Besonders interessant ist aber folgende Kombination:
fzf | xargs -I {} xdg-open {}
Dadurch läuft alles wie bei der einfachen Eingabe von fzf, aber man kann eines der Ergebnisse anklicken oder zu ihm mit den Pfeiltasten „hinwandern“ und Enter drücken. Darauf wird die Datei mit dem zu ihr passenden Standardprogramm geöffnet. Die Endung der gefundenen Datei kann pdf, txt, html usw. lauten, das spielt keine Rolle.
Man kann fzf auch mit ls -l kombinieren:
fzf | xargs ls -l
Dadurch wird die angeklickte Datei nicht geöffnet, sondern man erhält ein Ergebnis wie dieses, d.h., zu einer Datei erhält man Informationen wie Berechtigungen usw., alles was ls -l so liefert:
-rw-r–r– 1 user user 95360 23. Mär 2023 dmesg.txt
Ein anderer Einzeiler:
fzf | xargs cat
So kann man diejenigen angeklickten Dateien direkt im Terminal ansehen, die man auch sonst mit cat ansehen könnte.
Weitere Kombinationen sind möglich, eben auch z.B. mit find oder grep. Will man fzf auch in Skripten einsetzen, so findet man auf dieser Website ganz viele Beispiele:
https://github.com/junegunn/fzf/wiki/examples
Ein Alias für jeden Einzeiler
Für jeden Einzeiler kann man ein Alias anlegen:
1. Man öffnet die Datei ~/.bashrc mit einem Editor, etwa so:
mousepad ~/.bashrc
2. Unter dem Absatz „Alias definitions“ kann man die gewünschten Kurznamen und die zugehörigen Befehle eintragen. Zum Beispiel:
alias fo='fzf | xargs -I {} xdg-open {}'
3. Man speichert die Datei und schliesst sie.
4. Um die Änderungen zu übernehmen, führt man den Befehl source ~/.bashrc
aus.
5. Ab jetzt genügt es, für den Einzeiler nur noch seinen Kurznamen fo ins Terminal zu schreiben (und dann mit Enter weiterzufahren).
Eine Reaktion
[…] Mit f/Zeichenfolge gelingt dies, wie etwa mit Fzf: […]