# aloxaf/fzf-tab

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/aloxaf-fzf-tab).**

4,521 stars · 123 forks · Shell · mit

## Links

- GitHub: https://github.com/Aloxaf/fzf-tab
- awesome-repositories: https://awesome-repositories.com/repository/aloxaf-fzf-tab.md

## Topics

`completion` `fzf` `shell` `tmux` `zsh` `zsh-plugin`

## Description

fzf-tab is a Zsh plugin that replaces the default tab-completion menu with an interactive fuzzy search interface powered by fzf. It hooks into Zsh's completion system to present completion candidates in a searchable list where users can filter, select, and navigate results by typing partial matches.

The plugin distinguishes itself through several integrated capabilities. It supports multi-item selection for batch operations, group-based navigation to switch between completion categories like files and commands, and live previews of each candidate using user-defined commands. The interface can be rendered inside a tmux popup window for a cleaner display, and users can toggle the fuzzy completion on or off at runtime to fall back to the default system. A configurable allowlist and denylist system controls which commands use the fuzzy interface, while custom keybindings map user-defined actions to fzf operations.

Additional configuration options include adjusting popup window padding, controlling group header display, customizing the fuzzy search program, and setting the query string behavior. A compiled binary module accelerates file listing colorization for faster processing. The plugin also provides a continuous completion trigger for navigating deep directory paths and a single-keystroke accept-and-run action.

## Tags

### Development Tools & Productivity

- [Fuzzy Shell Completions](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/automation-integration-tools/shell-integration/fuzzy-shell-completions.md) — Bridging native shell completions with the fzf binary to filter and select items by typing partial matches. ([source](https://github.com/Aloxaf/fzf-tab/blob/master/fzf-tab.plugin.zsh))
- [Fzf Shell Bridges](https://awesome-repositories.com/f/development-tools-productivity/fzf-shell-bridges.md) — Intercepts shell completion events and pipes candidate lists into the fzf binary for interactive filtering and selection.
- [Searchable Completion Selectors](https://awesome-repositories.com/f/development-tools-productivity/suggestion-engines/code-completion-controls/completion-list-navigators/searchable-completion-selectors.md) — Provides a searchable list for selecting completion items with support for multi-selection and group navigation.
- [Custom Key Action Bindings](https://awesome-repositories.com/f/development-tools-productivity/terminal-action-bindings/custom-key-action-bindings.md) — Attach user-defined keybindings to the fuzzy finder for actions like accepting a selection or toggling all items. ([source](https://github.com/Aloxaf/fzf-tab/wiki/Configuration))
- [Group Navigators](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/automation-integration-tools/shell-integration/fuzzy-shell-completions/group-navigators.md) — Cycling between different completion groups like files and commands with dedicated keybindings. ([source](https://github.com/Aloxaf/fzf-tab/blob/master/README.md))
- [Dynamic Content Previews](https://awesome-repositories.com/f/development-tools-productivity/working-copy-management/work-item-traceability/item-previews/dynamic-content-previews.md) — Displaying live previews of each completion candidate using user-defined commands such as file contents or metadata.
- [Accept and Execute Completers](https://awesome-repositories.com/f/development-tools-productivity/command-line-completions/accept-and-execute-completers.md) — Confirm a completion and immediately execute the resulting command line with a single keystroke. ([source](https://github.com/Aloxaf/fzf-tab/wiki/Configuration))
- [Fzf Action Keybindings](https://awesome-repositories.com/f/development-tools-productivity/keybinding-configurations/fzf-action-keybindings.md) — Maps user-defined keybindings to fzf actions and completion operations for customizable interaction workflows.
- [Completion Group Switchers](https://awesome-repositories.com/f/development-tools-productivity/suggestion-engines/code-completion-controls/completion-list-navigators/completion-group-switchers.md) — Organizes completion results into navigable groups with keybindings to switch between categories like files and commands.
- [Continuous Completion Triggers](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/automation-integration-tools/shell-integration/fuzzy-shell-completions/continuous-completion-triggers.md) — Initiate repeated completion automatically while typing for navigating deep file paths through a configurable trigger key. ([source](https://github.com/Aloxaf/fzf-tab#readme))
- [Multi-Selection Interfaces](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/automation-integration-tools/shell-integration/fuzzy-shell-completions/multi-selection-interfaces.md) — Pick several completion items at once using a configurable keybinding. ([source](https://github.com/Aloxaf/fzf-tab#readme))
- [Per-Command Fuzzy Completion Filters](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/automation-integration-tools/shell-integration/fuzzy-shell-completions/per-command-fuzzy-completion-filters.md) — Restrict fuzzy tab completion to an allowlist or denylist of specific commands or file completions. ([source](https://github.com/Aloxaf/fzf-tab/wiki/Configuration))
- [Completion Popup Windows](https://awesome-repositories.com/f/development-tools-productivity/tmux-session-managers/popup-launchers/completion-popup-windows.md) — Renders the fuzzy completion interface inside a tmux popup window using the tmux display-popup API for overlay display.
- [Completion Popups](https://awesome-repositories.com/f/development-tools-productivity/tmux-session-managers/popup-launchers/completion-popups.md) — Show the fuzzy completion list in a tmux popup window for a cleaner interface. ([source](https://github.com/Aloxaf/fzf-tab#readme))

### User Interface & Experience

- [Fuzzy](https://awesome-repositories.com/f/user-interface-experience/terminal-interface-enhancements/completion-interfaces/fuzzy.md) — Hooks into Zsh's completion system widget to replace the default menu with a custom fuzzy search interface.
- [Completion Candidate Previews](https://awesome-repositories.com/f/user-interface-experience/live-preview-renderers/completion-candidate-previews.md) — Displays a real-time preview of each completion candidate by executing a user-defined command on the selected item.
- [Completion Multi-Selections](https://awesome-repositories.com/f/user-interface-experience/selectable-lists/multiple-selections/completion-multi-selections.md) — Select several completion items at once using a configurable keybinding for batch operations. ([source](https://github.com/Aloxaf/fzf-tab/blob/master/README.md))

### Data & Databases

- [Query String Initialization Strategies](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/search-information-retrieval/matching-ranking-logic/fuzzy-search-engines/advanced-query-types/query-string-initialization-strategies.md) — Set the fuzzy search query to the user's typed input, the longest common prefix, or the first valid prefix among candidates. ([source](https://github.com/Aloxaf/fzf-tab/wiki/Configuration))

### Security & Cryptography

- [Command Allowlists](https://awesome-repositories.com/f/security-cryptography/security/utilities/allowlist-management/html-allowlists/command-allowlists.md) — Controls which commands use the fuzzy completion interface through configurable allowlists and denylists per command or file type.

### Part of an Awesome List

- [Command Line Helpers](https://awesome-repositories.com/f/awesome-lists/devtools/command-line-helpers.md) — Replaces the default completion menu with a fuzzy-searchable interface.
