fzf (Türkçe)
fzf, komut satırı için genel amaçlı etkileşimli bir bulanık arama (fuzzy finder) aracıdır.
Kurulum
Yapılandırma
Kabuklar (Shells)
Farklı kabuklar için isteğe bağlı fzf tuş kombinasyonları ve otomatik tamamlama özellikleri mevcuttur:
-
Ctrl+tmevcut dizindeki dosya ve klasörleri listeler (Örn:git addyazın,Ctrl+ttuşuna basın,Tabile birkaç dosya seçin ve son olarakEnter'a basın). -
Ctrl+rkabuk komut geçmişinde (history) arama yapar. -
Alt+cdizin değiştirmeyi (cd) bulanık arama ile kolaylaştırır.
Bash
İstediğiniz dosyaları .bashrc dosyanız içerisinden kaynak (source) gösterin:
/usr/share/fzf/key-bindings.bash/usr/share/fzf/completion.bash
0.48 sürümünden itibaren, bu işlem tek bir satırla da gerçekleştirilebilir:
eval "$(fzf --bash)"
Orijinal sözdizimi hâlâ desteklenmektedir ve betiklerin kullanıcı tarafından özelleştirilmiş sürümleri için kullanışlıdır.
Zsh
İstediğiniz dosyaları .zshrc dosyanız içerisinden kaynak gösterin (Eğer kullanıyorsanız, vi-mode ayarından sonra ekleyin):
/usr/share/fzf/key-bindings.zsh/usr/share/fzf/completion.zsh
0.48 sürümünden itibaren, bu işlem tek bir satırla da gerçekleştirilebilir:
source <(fzf --zsh)
fish
fish kabuğu için tuş kombinasyonları şu dizindedir:
/usr/share/fish/vendor_functions.d/fzf_key_bindings.fish
fish bu dosyayı varsayılan olarak kaynak gösterir ancak kombinasyonların manuel olarak etkinleştirilmesi gerekir:
~/.config/fish/functions/fish_user_key_bindings.fish
function fish_user_key_bindings
fzf_key_bindings
end
fish içindeki fzf tamamlamaları, özel işlevlerle etkinleştirilebilir: https://github.com/junegunn/fzf/wiki/Examples-(fish)
Vim
Temel Vim eklentisi pakete zaten dahildir ve Vim'in genel eklenti dizinine yüklenir. Bu nedenle, kullanabilmek için .vimrc dosyanıza herhangi bir şey eklemenize gerek yoktur. Ancak bu eklenti sadece temel FZF komutunu sağlar. Bazı kolaylık işlevleri tanımlayan ve fzf'nin yazarı tarafından yapılan ek bir Vim eklentisi için bkz. https://github.com/junegunn/fzf.vim.
Arch'a Özgü fzf Kullanımları
Pacman
Mevcut tüm paketler arasında bulanık arama yapmak, paket bilgilerini bir önizleme penceresinde görmek ve ardından seçilen paketleri yüklemek için bunu deneyin:
$ pacman -Slq | fzf --multi --preview 'pacman -Si {1}' | xargs -ro sudo pacman -S
Yüklü tüm paketlerinizi listelemek ve ardından seçilen paketleri kaldırmak için:
$ pacman -Qq | fzf --multi --preview 'pacman -Qi {1}' | xargs -ro sudo pacman -Rns
Önizleme penceresine paket dosya listesini de eklemek istiyorsanız – önizleme penceresinin güncellenmesi biraz daha yavaş olabilir (çağrıdan önce pacman dosya veritabanını senkronize etmek için kök yetkileriyle en az bir kez pacman -Fy çalıştırdığınızdan emin olun):
$ pacman -Slq | fzf --multi --preview 'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk "{print \$2}")' | xargs -ro sudo pacman -S