Jump to content

fzf (Türkçe)

From ArchWiki

fzf, komut satırı için genel amaçlı etkileşimli bir bulanık arama (fuzzy finder) aracıdır.

Kurulum

fzf paketini yükleyin.

Yapılandırma

This article or section needs expansion.

Reason: En azından, yapılandırma gerektiren tek kullanım senaryosunun kabuk tamamlama olmadığı belirtilmelidir. (Discuss in Talk:Fzf (Türkçe))

Kabuklar (Shells)

Farklı kabuklar için isteğe bağlı fzf tuş kombinasyonları ve otomatik tamamlama özellikleri mevcuttur:

  • Ctrl+t mevcut dizindeki dosya ve klasörleri listeler (Örn: git add  yazın, Ctrl+t tuşuna basın, Tab ile birkaç dosya seçin ve son olarak Enter'a basın).
  • Ctrl+r kabuk komut geçmişinde (history) arama yapar.
  • Alt+c dizin 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

Alternatifler

  • skimRust ile yazılmış bulanık arama aracı
  • fzy – bulanık arama/seçim aracı