🔍🐟 Fzf plugin for Fish
2.7k
Stars
105
Forks
1
Open issues
29
Contributors
AI Analysis
fzf.fish is a Fish shell plugin that integrates fzf (fuzzy finder) with mnemonic key bindings to interactively search files, git commits, command history, processes, and variables. It is purpose-built for Fish shell users who want efficient fuzzy-search capabilities integrated into their command line, and is not applicable to users of bash, zsh, or other shells.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Fish shell plugin that brings fzf-powered fuzzy search to command line, narrowly focused and actively maintained
fzf.fish is a plugin for the Fish shell that integrates fzf fuzzy finder via mnemonic key bindings (Ctrl+Alt+F for files, Ctrl+Alt+L for git log, etc.). It augments core Fish workflows with interactive search for files, git history, running processes, shell variables, and command history. Built specifically for Fish users who want a fluent, keybindings-first fuzzy search experience. Adoption appears concentrated within the Fish shell community rather than mainstream shell environments.
Created April 2020 as a Fish shell plugin wrapper around junegunn/fzf. Emerged during a period of growing interest in fuzzy-finder-augmented shells, but deliberately targets Fish exclusively rather than competing with bash/zsh-oriented alternatives like fzf-git.sh. The project represents practical packaging of fzf capabilities into Fish idioms rather than fundamental innovation.
Star count grew from zero to ~2,646 over ~6 years, suggesting steady but modest adoption. Recent activity (9 stars in 7 days as of June 2026) indicates continued interest but not explosive growth. Growth appears driven by Fish shell adoption among power users and the plugin ecosystem's maturation, rather than by converting users from other shells. The project maintains regular releases and active maintenance without dramatic velocity changes.
Adoption not verified through explicit case studies or production deployment documentation. Evidence is indirect: 2,646 GitHub stars suggests meaningful uptake; Fisher dependency and plugin ecosystem maturity imply real users; README mentions wiki and documentation suggesting active community. However, no concrete data on deployment scale, company usage, or percentage of Fish shell user base. Adoption appears real but scope is unquantified.
Based on README: plugin installs via Fisher (Fish package manager) and provides six search functions triggered by key bindings. Each function wraps fzf with shell-specific preview commands (bat for syntax highlighting, fd for file enumeration, ps for processes). Likely uses Fish function definitions and bindings rather than compiled code. Appears modular, with per-command configuration variables suggesting composable design.
Not documented in README. No mention of test suite, CI/CD pipeline details, or coverage metrics beyond 'build status badge' reference.
Last push 2026-06-19 (8 days before evaluation date), indicating active maintenance. Repository shows multiple releases and regular updates. References 'latest release badge' and 'build status badge' suggesting CI integration. No evidence of stagnation; slow-cadence maintenance is appropriate for a stable plugin serving a focused niche. Issue/PR activity not visible from metadata, but push frequency suggests responsive maintenance.
ADOPT IF: you are a Fish shell user seeking a well-packaged, mnemonic key binding interface to fzf for file/git/history/process/variable search, and you want maintained, Fish-idiomatic integration. AVOID IF: you use bash, zsh, or other shells—this plugin does not port; you will need shell-specific alternatives. Also avoid if you prefer lightweight configuration over opinionated defaults. MONITOR IF: you are evaluating Fish shell tooling ecosystem maturity; fzf.fish demonstrates the ecosystem is stable enough to support specialized, quality plugins, though mainstream shell migration to Fish remains unlikely in the near term.
Independent dimensions
Mainstream potential
3/10
Technical importance
6/10
Adoption evidence
5/10
- Adoption is Fish-shell-bound; as Fish remains a niche shell (~5-10% of developer base), the addressable market is capped. Growth depends on Fish shell adoption, which is not accelerating.
- Plugin incompatibility explicitly documented (README warns users to uninstall other fzf plugins first). Switching costs or ecosystem lock-in may limit adoption for users with existing fzf setups.
- Dependency on three external CLIs (fzf, fd, bat) creates a fragile chain; updates to these tools could introduce compatibility issues. README notes version minimums but does not document compatibility matrix.
- Limited adoption data; no production case studies, company deployments, or scale metrics documented. Real-world usage extent is uncertain despite reasonable star count.
- Maintenance is single-maintainer or small-team based on GitHub profile (not explicitly stated). Lack of documented succession plan or governance means project sustainability is dependent on personal maintainer commitment.
fzf.fish will likely remain a stable, actively maintained plugin for Fish shell users, with slow, steady growth tracking Fish adoption. Unlikely to see explosive adoption or mainstream visibility because it is deliberately and appropriately scoped to a niche shell. Most probable outcome: continued slow-growth stability with periodic maintenance releases, serving its intended audience well without broader market penetration.
Explore similar
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- Shell
- License
- MIT
- Last updated
- 3w ago
- Created
- 75mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open pull requests
No open pull requests.
Top contributors
Recent releases
Similar repos
oh-my-fish/oh-my-fish
Oh My Fish is a framework for the Fish shell that provides core infrastructure...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
2.7k | +8 | Shell | 8/10 | 3w ago |
|
|
81.6k | — | Go | 10/10 | 4d ago |
|
|
1.5k | — | Shell | 6/10 | 3mo ago |
|
|
11.4k | — | Shell | 4/10 | 2mo ago |
|
|
1.2k | — | Shell | 8/10 | 4d ago |
|
|
4.8k | — | Shell | 8/10 | 1mo ago |
fzf is the underlying fuzzy finder library (81k stars). fzf.fish is a thin opinionated wrapper providing Fish-specific bindings and workflows; it does not replace or compete with fzf but rather adapts it. Users of other shells would use fzf directly or shell-specific plugins.
fzf-tab (4.8k stars) provides fzf-powered tab completion for zsh/bash. fzf.fish provides search commands via key bindings for Fish. These address overlapping but distinct niches (completion vs. command-line search) and target different shells.
fzf-git.sh (1.2k stars) is a bash/zsh script for git-aware fzf searches. fzf.fish includes git search as one of six functions alongside file/history/process/variable search. fzf.fish is broader in scope but limited to Fish; fzf-git.sh is narrower but portable to bash/zsh.
OMF (11k stars) is a Fish shell framework/plugin manager ecosystem. fzf.fish is a single plugin commonly installed via Fisher (the modern alternative to OMF). Not a direct competitor; fzf.fish could run under either framework.
Fisher (9.3k stars) is the plugin manager fzf.fish officially supports. Fisher is a dependency, not a competitor. fzf.fish is one of many plugins available through Fisher.





