fzf: Interactive Fuzzy Finder
Always invoke fzf skill for interactive fuzzy selection - do not execute bash commands directly.
Use fzf for interactive fuzzy selection and filtering of any command-line list.
Default Strategy
Invoke fzf skill for interactive fuzzy selection from any list with preview capabilities. Use when choosing from search results, files, processes, or any command output.
Common workflow: Discovery skill (fd, ripgrep, jq, yq) → fzf skill → other skills (bat, xargs) for interactive selection and action.
Key Options
Display Modes
--height N[%] set height (percent or exact lines)
--tmux [POS][SIZE][,border] tmux popup mode
--layout default|reverse|reverse-list layout direction
--border [rounded|sharp|thin] add border
--style default|full|minimal UI preset
Search & Matching
-e/--exact exact matching instead of fuzzy
--scheme default|path|history input type optimization
--delimiter STR custom field delimiter
--nth N.. search specific fields only
Preview Window
--preview "CMD {}" external command preview
--preview-window POSITION[SIZE][,border] preview configuration
--preview-label TEXT custom preview label
Selection Options
-m/--multi multi-select mode (TAB to mark)
--bind KEY:ACTION custom key bindings
--prompt "TEXT" custom prompt string
--header "TEXT" custom header text
Performance Options
--tac reverse input order (top-down)
--with-nth N.. display specific fields
--ansi parse ANSI color codes
When to Use
- File Selection: Interactive file browsing with preview
- Command History: Search and reuse previous commands
- Process Management: Select and manage running processes
- Git Integration: Browse commits, branches, files
- Multi-Select Operations: Batch processing of selected items
Common Workflows
fd | fzf → bat: Find files, select, view with syntax highlighting
ripgrep | fzf → vim: Search content, select matches, edit files
jq/yq | fzf → bat: Extract data, select entries, view details
git log | fzf → show: Browse commits, select, view changes
ps | fzf → kill: List processes, select, terminate
find | fzf -m → xargs: Multiple selection for batch operations
Core Principles
- Interactive Filtering: Real-time fuzzy matching as you type
- Universal Input: Works with any list from STDIN or file system
- Extensible: Customizable through bindings and preview commands
- Performance: Optimized to handle millions of items instantly
Detailed Reference
For comprehensive search patterns, key bindings, preview configurations, and integration examples, load fzf guide when needing:
- Custom key bindings and actions
- Advanced preview window configuration
- Multi-select workflows
- Tmux integration
- Shell setup functions
The guide includes:
- Basic usage and display modes
- Search syntax and matching patterns
- Multi-select operations and key bindings
- Preview window configuration
- Integration examples (git, processes, file systems)
- Performance optimization and troubleshooting
- Shell integration setup and custom functions
Skill Combinations
For Discovery Phase
- fd → fzf: Interactive file selection from search results
- ripgrep → fzf: Interactive selection from search matches
- jq/yq → fzf: Interactive selection from extracted data
- git log/branch → fzf: Interactive git history browsing
For Analysis Phase
- any_command → fzf → bat: Select items and preview with syntax highlighting
- fd → fzf --preview="bat {}": File browser with syntax preview
- ripgrep → fzf --preview="bat {1} +{2}": Search results with file preview
For Refactoring Phase
- any_command → fzf -m: Batch process multiple selected items
- find | fzf -m | xargs: Classic multi-select pattern
- ps | fzf -m | xargs kill: Multi-process management
Integration Examples
# Interactive code search and edit
rg "pattern" | fzf --preview="bat --color=always --highlight-line {2} {1}" | awk '{print $1}' | xargs vim
# Interactive dependency management
jq -r '.dependencies | keys[]' package.json | fzf --multi | xargs npm uninstall
---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/iota9star) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-12 -->
1---2name: fuzzy-selecting3description: Provides interactive fuzzy finder for selecting items from any list with preview capabilities. Use this skill when choosing from search results, files, processes, or any command output4---56# fzf: Interactive Fuzzy Finder78**Always invoke fzf skill for interactive fuzzy selection - do not execute bash commands directly.**910Use fzf for interactive fuzzy selection and filtering of any command-line list.1112## Default Strategy1314**Invoke fzf skill** for interactive fuzzy selection from any list with preview capabilities. Use when choosing from search results, files, processes, or any command output.1516Common workflow: Discovery skill (fd, ripgrep, jq, yq) → fzf skill → other skills (bat, xargs) for interactive selection and action.1718## Key Options1920### Display Modes21- `--height N[%]` set height (percent or exact lines)22- `--tmux [POS][SIZE][,border]` tmux popup mode23- `--layout default|reverse|reverse-list` layout direction24- `--border [rounded|sharp|thin]` add border25- `--style default|full|minimal` UI preset2627### Search & Matching28- `-e/--exact` exact matching instead of fuzzy29- `--scheme default|path|history` input type optimization30- `--delimiter STR` custom field delimiter31- `--nth N..` search specific fields only3233### Preview Window34- `--preview "CMD {}"` external command preview35- `--preview-window POSITION[SIZE][,border]` preview configuration36- `--preview-label TEXT` custom preview label3738### Selection Options39- `-m/--multi` multi-select mode (TAB to mark)40- `--bind KEY:ACTION` custom key bindings41- `--prompt "TEXT"` custom prompt string42- `--header "TEXT"` custom header text4344### Performance Options45- `--tac` reverse input order (top-down)46- `--with-nth N..` display specific fields47- `--ansi` parse ANSI color codes4849## When to Use5051- **File Selection**: Interactive file browsing with preview52- **Command History**: Search and reuse previous commands53- **Process Management**: Select and manage running processes54- **Git Integration**: Browse commits, branches, files55- **Multi-Select Operations**: Batch processing of selected items5657### Common Workflows58- `fd | fzf → bat`: Find files, select, view with syntax highlighting59- `ripgrep | fzf → vim`: Search content, select matches, edit files60- `jq/yq | fzf → bat`: Extract data, select entries, view details61- `git log | fzf → show`: Browse commits, select, view changes62- `ps | fzf → kill`: List processes, select, terminate63- `find | fzf -m → xargs`: Multiple selection for batch operations6465## Core Principles66671. **Interactive Filtering**: Real-time fuzzy matching as you type682. **Universal Input**: Works with any list from STDIN or file system693. **Extensible**: Customizable through bindings and preview commands704. **Performance**: Optimized to handle millions of items instantly7172## Detailed Reference7374For comprehensive search patterns, key bindings, preview configurations, and integration examples, load [fzf guide](./reference/fzf-guide.md) when needing:75- Custom key bindings and actions76- Advanced preview window configuration77- Multi-select workflows78- Tmux integration79- Shell setup functions8081The guide includes:82- Basic usage and display modes83- Search syntax and matching patterns84- Multi-select operations and key bindings85- Preview window configuration86- Integration examples (git, processes, file systems)87- Performance optimization and troubleshooting88- Shell integration setup and custom functions8990## Skill Combinations9192### For Discovery Phase93- **fd → fzf**: Interactive file selection from search results94- **ripgrep → fzf**: Interactive selection from search matches95- **jq/yq → fzf**: Interactive selection from extracted data96- **git log/branch → fzf**: Interactive git history browsing9798### For Analysis Phase99- **any_command → fzf → bat**: Select items and preview with syntax highlighting100- **fd → fzf --preview="bat {}"**: File browser with syntax preview101- **ripgrep → fzf --preview="bat {1} +{2}"**: Search results with file preview102103### For Refactoring Phase104- **any_command → fzf -m**: Batch process multiple selected items105- **find | fzf -m | xargs**: Classic multi-select pattern106- **ps | fzf -m | xargs kill**: Multi-process management107108### Integration Examples109```bash110# Interactive code search and edit111rg "pattern" | fzf --preview="bat --color=always --highlight-line {2} {1}" | awk '{print $1}' | xargs vim112113# Interactive dependency management114jq -r '.dependencies | keys[]' package.json | fzf --multi | xargs npm uninstall115116---117> Converted and distributed by [TomeVault](https://tomevault.io/claim/iota9star) — claim your Tome and manage your conversions.118<!-- tomevault:4.0:skill_md:2026-04-12 -->