Cara Menginstal dan Menggunakan fzf di Linux: Panduan Lengkap untuk Fuzzy Finding di Terminal
Jika Anda menghabiskan waktu signifikan di terminal Linux, Anda sudah tahu bahwa menemukan file, mengingat perintah, dan menavigasi direktori dapat memperlambat Anda. fzf (Fuzzy Finder) adalah alat baris perintah interaktif yang sangat cepat yang menghilangkan hambatan tersebut sepenuhnya. Baik Anda memfilter ribuan file, mencari riwayat perintah, atau beralih cabang Git, fzf mengubah tugas terminal yang membosankan menjadi operasi yang lancar dan hampir instan.
Dalam panduan komprehensif ini, Anda akan belajar cara menginstal fzf di Linux, menguasai fitur intinya, mengintegrasikannya dengan alat populer, dan menyesuaikannya agar sesuai dengan alur kerja Anda yang tepat.
> Menjalankan lingkungan Linux Anda sendiri? Pengaturan pengembangan yang kuat dimulai dengan infrastruktur yang tepat. VPS Hosting AlexHost memberi Anda akses root penuh, penyimpanan SSD berkinerja tinggi, dan kebebasan lengkap untuk mengonfigurasi server Anda — fondasi ideal untuk membangun alur kerja terminal Linux yang produktif.
Apa itu fzf?
fzf adalah pencari fuzzy tujuan umum berbasis baris perintah yang ditulis dalam Go. Ini membaca daftar item dari input standar dan menyajikannya dalam antarmuka penyaringan interaktif real-time. Saat Anda mengetik, fzf mempersempit hasil menggunakan algoritma pencocokan fuzzy — artinya Anda tidak perlu mengetik string yang tepat untuk menemukan apa yang Anda cari.
Kemampuan utama fzf meliputi:
- Pencarian file dan direktori di seluruh pohon direktori besar
- Navigasi riwayat perintah dengan penarikan instan
- Penelusuran cabang dan komit Git
- Manajemen proses dan pembunuhan interaktif
- Pemilihan host SSH dari file konfigurasi Anda
- Integrasi dengan hampir semua perintah yang menghasilkan output berbasis baris
fzf ringan, bebas dependensi setelah instalasi, dan bekerja dengan mulus dengan shell Bash, Zsh, dan Fish.
Menginstal fzf di Linux
Ada dua metode instalasi utama: mengkloning repositori Git resmi atau menggunakan pengelola paket distribusi Anda. Keduanya mudah dilakukan.
Metode 1: Instal melalui Git (Direkomendasikan untuk Versi Terbaru)
Menginstal dari repositori GitHub memastikan Anda selalu mendapatkan versi terbaru.
Langkah 1 — Kloning repositori:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzfLangkah 2 — Jalankan skrip instalasi:
cd ~/.fzf
./installSelama instalasi, Anda akan diminta dengan tiga pertanyaan konfigurasi:
- Aktifkan pengikatan kunci? (Direkomendasikan: Ya) — Menambahkan pintasan
Ctrl+T,Ctrl+R, danAlt+C - Aktifkan pelengkapan otomatis fuzzy? (Direkomendasikan: Ya) — Mengaktifkan integrasi penyelesaian tab
- Perbarui file konfigurasi shell? (Direkomendasikan: Ya) — Secara otomatis bersumber fzf di
.bashrc/.zshrc
Setelah instalasi, muat ulang shell Anda:
source ~/.bashrc # For Bash users
source ~/.zshrc # For Zsh usersMetode 2: Instal melalui Pengelola Paket
Instalasi pengelola paket lebih cepat dan terintegrasi dengan mekanisme pembaruan sistem Anda, meskipun mungkin memberikan versi yang sedikit lebih lama.
Ubuntu / Debian:
sudo apt update && sudo apt install fzfFedora:
sudo dnf install fzfArch Linux / Manjaro:
sudo pacman -S fzfmacOS (Homebrew):
brew install fzf
$(brew --prefix)/opt/fzf/installVerifikasi instalasi Anda:
fzf --versionPenggunaan Dasar fzf
Setelah diinstal, fzf dapat langsung digunakan. Berikut adalah perintah penting untuk membangun fondasi Anda.
1. Pencarian File Interaktif
Luncurkan fzf di direktori saat ini untuk mencari file secara interaktif:
fzfPrompt interaktif muncul. Mulai ketik bagian apa pun dari nama file — fzf memfilter hasil secara real-time. Gunakan tombol panah untuk menavigasi, dan tekan Enter untuk memilih.
Pintasan navigasi yang berguna:
| Kunci | Tindakan |
|---|---|
↑ / ↓ | Navigasi hasil |
Enter | Konfirmasi pilihan |
Tab | Tandai beberapa item |
Ctrl+C / Esc | Batal |
2. Pencarian Riwayat Perintah
Salah satu kasus penggunaan paling populer fzf adalah pencarian riwayat perintah interaktif:
history | fzfJika Anda mengaktifkan pengikatan kunci selama instalasi, Anda dapat menekan Ctrl+R kapan saja di terminal Anda untuk memicunya secara instan — jauh lebih kuat daripada pencarian terbalik default.
3. Gabungkan fzf dengan find
Cari secara rekursif melalui sistem file Anda dan pipa hasil ke fzf:
find . -type f | fzfUntuk mencari hanya direktori:
find . -type d | fzf4. Navigasi ke Direktori dengan Alt+C
Jika Anda mengaktifkan pengikatan kunci, menekan Alt+C membuka navigator direktori interaktif. Pilih direktori dan fzf secara otomatis menjalankan cd untuk menavigasi ke sana.
5. Pencarian Cabang Git
Temukan dan referensikan cabang Git dengan cepat di repositori besar:
git branch | fzfUntuk checkout cabang secara interaktif:
git checkout $(git branch | fzf)Mengintegrasikan fzf dengan Perintah Lain
Kekuatan nyata fzf muncul ketika Anda menggabungkannya dengan alat lain menggunakan substitusi perintah ($(fzf)).
1. Buka File Langsung di vim atau nano
vim $(fzf)nano $(fzf)Ketik bagian dari nama file, pilih, dan editor terbuka segera — tidak perlu mengetik jalur lengkap.
2. Salin Jalur File ke Clipboard
fzf | xclip -selection clipboardPada sistem yang menggunakan xsel:
fzf | xsel --clipboard --input3. Pemilihan Host SSH Interaktif
Jika Anda mengelola beberapa server, integrasi ini adalah pengubah permainan:
ssh $(grep -i "^Host " ~/.ssh/config | awk '{print $2}' | fzf)Ini mengurai file konfigurasi SSH Anda dan memungkinkan Anda memilih host secara interaktif sebelum terhubung — tidak perlu lagi mengingat nama host atau alamat IP.
> Mengelola beberapa server jarak jauh? Server Khusus AlexHost menyediakan perangkat keras tingkat enterprise dengan kontrol administratif penuh, menjadikannya sempurna untuk tim yang mengandalkan alur kerja berat SSH.
4. Bunuh Proses Secara Interaktif
kill -9 $(ps aux | fzf | awk '{print $2}')Daftar semua proses yang berjalan, pencarian fuzzy untuk yang Anda inginkan, dan bunuh — semuanya tanpa perlu mengetahui PID sebelumnya.
5. Pratinjau Konten File Saat Mencari
fzf mendukung bendera --preview yang menampilkan konten file bersama hasil pencarian Anda:
fzf --preview 'cat {}'Untuk pratinjau yang disintaks-sorot (memerlukan bat):
fzf --preview 'bat --color=always {}'Menyesuaikan fzf
fzf dapat dikonfigurasi secara ekstensif melalui variabel lingkungan dan file konfigurasi shell.
1. Tetapkan Opsi Default dengan FZF_DEFAULT_OPTS
Tambahkan ini ke ~/.bashrc atau ~/.zshrc Anda untuk menerapkan opsi secara global:
export FZF_DEFAULT_OPTS="--height 40% --reverse --inline-info --border"Opsi umum dijelaskan:
| Opsi | Deskripsi |
|---|---|
--height 40% | Tampilkan fzf di 40% bawah terminal |
--reverse | Tampilkan hasil dari atas ke bawah (input di atas) |
--inline-info | Tampilkan jumlah kecocokan secara inline |
--border | Gambar batas di sekitar jendela fzf |
--multi | Aktifkan multi-pilih dengan Tab |
2. Sesuaikan Warna
Cocokkan skema warna fzf dengan tema terminal Anda:
export FZF_DEFAULT_OPTS="--color=bg+:#3c3836,bg:#282828,fg:#ebdbb2,fg+:#ebdbb2,hl:#fabd2f,hl+:#fabd2f,info:#83a598,prompt:#bdae93,spinner:#fabd2f,pointer:#83a598,marker:#fe8019,border:#665c54"Contoh ini menggunakan skema warna Gruvbox yang populer. Sesuaikan nilai heksadesimal untuk mencocokkan tema pilihan Anda.
3. Pengikatan Kunci Kustom
Tambahkan pengikatan kustom ke file konfigurasi shell Anda:
# Ctrl+T — fuzzy file finder
export FZF_CTRL_T_COMMAND="find . -type f 2>/dev/null"
# Alt+C — fuzzy directory navigator
export FZF_ALT_C_COMMAND="find . -type d 2>/dev/null"
# Ctrl+R — command history search with preview
export FZF_CTRL_R_OPTS="--preview 'echo {}' --preview-window down:3:hidden:wrap --bind '?:toggle-preview'"4. Tetapkan Sumber File Default dengan FZF_DEFAULT_COMMAND
Secara default, fzf menggunakan find untuk mencantumkan file. Anda dapat menggantinya dengan alat yang lebih cepat seperti fd atau ripgrep:
# Using fd (faster alternative to find)
export FZF_DEFAULT_COMMAND="fd --type f --hidden --follow --exclude .git"
# Using ripgrep
export FZF_DEFAULT_COMMAND="rg --files --hidden --follow --glob '!.git'"5. File Konfigurasi Persisten
Untuk pengguna Zsh, Anda dapat menyimpan pengaturan fzf persisten dalam file khusus:
echo "export FZF_DEFAULT_OPTS='--height 40% --reverse --inline-info --border'" >> ~/.fzf.zshPastikan file ini bersumber di ~/.zshrc Anda:
[ -f ~/.fzf.zsh ] && source ~/.fzf.zshContoh Alur Kerja fzf Praktis
Berikut adalah fungsi siap pakai yang dapat Anda tambahkan ke .bashrc atau .zshrc Anda:
cd Interaktif dengan fzf
fcd() {
local dir
dir=$(find ${1:-.} -type d 2>/dev/null | fzf +m) && cd "$dir"
}Buka File Terbaru di vim
fvim() {
local file
file=$(find . -type f -name "*.${1:-*}" | fzf --preview 'cat {}')
[ -n "$file" ] && vim "$file"
}Cari dan Terapkan Git Stash
fstash() {
local stash
stash=$(git stash list | fzf | cut -d: -f1)
[ -n "$stash" ] && git stash apply "$stash"
}Pemecahan Masalah Masalah fzf Umum
| Masalah | Solusi |
|---|---|
fzf: command not found | Pastikan ~/.fzf/bin ada di $PATH Anda; jalankan kembali ~/.fzf/install |
| Pengikatan kunci tidak berfungsi |
untuk semua layanan hosting