fzf
Az fzf (fuzzy finder) project egy parancssoros eszköz ami egy szövegfájlban tud olyan sorokat keresni amelyek “nagyjából” megfelelnek a keresési feltételünknek.
Önmagában ez elég haszontalan, viszont más programokkal (leginkább magával a shell-lel) összekapcsolva nagyon hasznos lehet. Elsőre kicsit fura volt használni, de minél többet használom annál kényelmesebbnek tűnik.Tipikusan olyan program aminél a leírások után nem volt világos hogy mire is jó, csak használatban derült ki számomra. (És az én leírásom sem lesz jobb ebből a szempontból).
CTRL-R
A CTRL-R segítségével ugye a bash history-ban kereshetünk, vagyis a korábban kiadott parancsaink között. Miután fzf-et installáljuk CTRL-R megváltozik. Egyrészt egy sor helyett egy teljes ablakban kereshetünk a korábbi parancsok között, másrészt begépelve a parancs egy részét, ügyesebben találja meg a korábbi parancsunkat. Egy gyakori példa, hogy egy adott alkönyvtárba akarok belépni ami elég mélyen van a faszerkezetben, legyen mondjuk ez a /egy/ketto/harom/kutya. Tudom, hogy már többször kiadtam a cd /egy/ketto/harom/kutya parancsot. Hagyományosan CTRL-R segítségével vagy cd-re keresek (de akkor a többi könyvtárváltásom is előjön) vagy kutya-ra (de akkor a könyvtárnevet tartalmazó többi parancs is előjön). fzf-fel elég beírnom annyit, hogy “cd kutya” és megtalálja a parancsot.
CTRL-T
CTRL-T hatására fzf az aktuális alkönyvtár fájljai között keres rekurzívan és a kiválasztott fájl nevét másolja a parancssorba.
**
Nem mindig az aktuális alkönyvtárban keresünk, ha egy másik alkönyvtárban akarunk keresni, akkor **
feh -Fd ~/Pictures/**<TAB>
A példában a feh képmegjelenítőt használom, a ~/Pictures alkönyvárban fog képeket keresni.
Nem feltétlenül fog feh az összes fájl között keresni.
feh -Fd ~/Pictures/*_ef.jpg**<TAB>
Ebben a példában csak azokat a fájlokat listázza, amelyekre _ef.jpg “illeszkedeik”. (Én így jelölöm az expozíciósorozattal készített fájljaimat).
Egyebek
Kicsit véletlenszerűnek tűnő módon fzf projectbe néhány egyéb parancs támogatása is bekerült (aztán később rájöttek, hogy ezt nagyon nehéz lesz karbantartaniuk, szóval már nem nagyon raknak be új parancsokat). Pl. támogatják a kill-t, vagyis a következő esetben
kill -9 <TAB>
fzf indul el és az éppen futó process-ek közül választhatunk.
Míg
unalias **<TAB>
esetén a beállított alias-ok között kereshetünk.