What is fzf?
fzf is a general-purpose command-line fuzzy finder written in Go by Junegunn Choi. It's an interactive filter program for any kind of list - files, command history, processes, hostnames, bookmarks, git commits, and more. With over 72k GitHub stars, it has become an essential tool for command-line productivity.
⚡ Key Features of fzf
📦 Portable & Fast
Single binary distribution with blazingly fast performance. Instantly processes millions of items with optimized Go implementation.
🛠️ Extremely Versatile
Fully customizable via event-action binding mechanism. Works with any kind of list input - files, processes, commands, etc.
🔋 Shell Integration
Built-in integration with bash, zsh, and fish. Includes key bindings for file search (Ctrl-T), command history (Ctrl-R), and directory navigation (Alt-C).
🖼️ Preview Window
Real-time preview of files, images, and content. Supports syntax highlighting, image display, and custom preview commands.
🎨 Highly Customizable
Multiple display modes, color schemes, layout options, and style presets. Theme playground available for interactive customization.
🔌 Editor Integration
Vim and Neovim plugins available. Seamless integration with popular editors and development workflows.
apt upgrade keeps you on the latest version.
📦 Installation from deb.griffo.io
Step 1: Add Repository
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updateStep 2: Install fzf
# Install latest fzf
sudo apt install fzf
# Verify installation
fzf --version# Install latest fzf
apt install fzf
# Verify installation
fzf --versionStep 3: Set Up Shell Integration
# For bash users
echo 'eval "$(fzf --bash)"' >> ~/.bashrc
# For zsh users
echo 'source <(fzf --zsh)' >> ~/.zshrc
# For fish users
echo 'fzf --fish | source' >> ~/.config/fish/config.fish
# Reload shell
source ~/.bashrc # or ~/.zshrc🎯 Basic Usage Examples
Interactive file finder:
# Find and edit files
vim $(fzf)
# Find files with preview
fzf --preview 'cat {}'
# Find files with syntax highlighting
fzf --preview 'bat --color=always {}'Shell integration keybindings:
# Ctrl-T: Find files and directories
# Type any command, then press Ctrl-T to insert selected files
# Ctrl-R: Search command history
# Press Ctrl-R to search and select from command history
# Alt-C: Change directory
# Press Alt-C to fuzzy find and cd into directoriesAdvanced usage:
# Search processes and kill
ps aux | fzf | awk '{print $2}' | xargs kill
# Search git commits
git log --oneline | fzf | awk '{print $1}' | xargs git show
# Interactive ripgrep
rg --color=always --line-number . | fzf --ansi
# Multi-select mode
find . -type f | fzf -m🔧 Tool Integrations
fzf works perfectly with other modern command-line tools:
- fd: Use as file source for respecting .gitignore
- ripgrep: Interactive grep with live reload
- bat: Syntax-highlighted file previews
- eza: Enhanced file listing with fzf filtering
- zoxide: Smart directory jumping with fuzzy search
🚀 Why Choose deb.griffo.io?
- Official Ubuntu: Available but often outdated versions
- Manual Installation: Requires Go toolchain or manual binary management
- deb.griffo.io: Latest version with automatic updates
- ✅ Latest Features: Get newest fzf features and performance improvements
- ✅ No Manual Setup: Pre-built binaries, no Go compilation needed
- ✅ Automatic Updates: Packages updated within hours of upstream releases
- ✅ Complete Package: Includes shell integration scripts and documentation
- ✅ Multi-Distribution: Works on Jammy and Noble
- ✅ Easy Maintenance: Standard apt commands for updates
📦 Package Build Repository
The Ubuntu packages are automatically built and maintained in this GitHub repository:
- 🔍 fzf-debian - Latest release builds
🔗 Related Packages
Also available from deb.griffo.io:
- eza - Modern ls replacement (great with fzf)
- Yazi File Manager - Integrates with fzf for file searching
- zoxide - Smart cd command (works with fzf)
💝 Support This Project
If this repository saves you time and effort, please consider supporting it!