fzf Cheatsheet ============== fzf keybindings and fuzzy finder quick reference Date: February 8, 2026 # fzf Cheatsheet ## Shell Integration Keybindings | Key | Action | |-----|--------| | `Ctrl+T` | Find files and insert path | | `Ctrl+R` | Search command history | | `Alt+C` | Find directories and cd | | `Tab` | Complete paths with fzf | ## fzf Interface Controls | Key | Action | |-----|--------| | `Ctrl+J/K` or `Ctrl+N/P` | Navigate up/down | | `Ctrl+H/L` | Move cursor left/right in query | | `Enter` | Select item | | `Esc` | Cancel | | `Ctrl+U` | Clear query | | `Tab` | Multi-select | | `Shift+Tab` | Deselect | | `?` | Toggle preview | ## Common Commands ```bash # Basic file finding fzf # With preview fzf --preview 'bat --style=numbers --color=always {}' # Edit selected file nvim $(fzf) # Kill process kill -9 $(ps aux | fzf | awk '{print $2}') # Git checkout branch git checkout $(git branch | fzf | sed 's/* //') # cd to directory cd $(find . -type d | fzf) # Search history history | fzf ``` ## Environment Variables ```bash # Default appearance export FZF_DEFAULT_OPTS="--height 40% --layout=reverse --border" # Default file search export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git' # Ctrl+T command export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" # Alt+C command export FZF_ALT_C_COMMAND='fd --type d --hidden --follow --exclude .git' ``` ## Integration Examples ```bash # Find and edit config files nvim ~/.config/**/*(.) | fzf # Search git files git ls-files | fzf # Docker actions docker ps | fzf | awk '{print $1}' | xargs docker logs # Package management apt list --installed | fzf ``` ## Quick Workflows **Find file:** `Ctrl+T` → type → `Enter` **Search history:** `Ctrl+R` → type → `Enter` **Change directory:** `Alt+C` → select → `Enter` **Multi-select:** `Tab` to select multiple items