explaingit

aloxaf/fzf-tab

4,705ShellAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

fzf-tab replaces Zsh's default tab-completion menu with a fast fuzzy-search interface, type a few letters to instantly filter any completions, from file paths to command names, right in your terminal.

Mindmap

mindmap
  root((fzf-tab))
    What it does
      Fuzzy tab completion
      Interactive filtering
      Multi-select
    Tech stack
      Shell
      Zsh
      fzf
    Features
      Tmux popup support
      Configurable keybinds
      Binary color module
    Setup
      Oh-My-Zsh
      Zinit
      Manual install
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Replace Zsh's arrow-key tab-completion menu with fuzzy search so you can filter file paths, commands, and variables by typing a few letters.

USE CASE 2

Select multiple files at once during tab completion using Ctrl+Space before confirming a command.

USE CASE 3

Open tab completions in a floating tmux popup window instead of inline in the terminal for a cleaner workflow.

USE CASE 4

Speed up file colorizing in large directories by installing the optional binary module.

Tech stack

ShellZshfzf

Getting it running

Difficulty · easy Time to first run · 5min

Requires fzf to be installed first and fzf-tab must be loaded after Zsh's completion system initializes, order in your plugin manager config matters.

Use freely for any purpose, including commercial use, as long as you keep the MIT copyright notice.

In plain English

fzf-tab is a plugin for the Zsh terminal shell that replaces the default tab-completion menu with a fuzzy search interface powered by fzf. When you press Tab in a Zsh terminal, the shell normally shows a list of possible completions that you navigate with arrow keys. This plugin replaces that list with fzf, a tool that lets you type a few letters to filter the results interactively. The plugin works across all completion contexts in Zsh, including file paths, command names, variable names, directory history, and anything else the shell's built-in completion system handles. Because it sits on top of the existing completion system rather than replacing it, most existing completion configuration continues to work without changes. You can still use zstyle settings to control behavior, sorting, and display. Installing it requires fzf to already be on the system, and then the plugin can be loaded through common Zsh plugin managers like Oh-My-Zsh, Zinit, Antigen, or Prezto, or installed manually by cloning the repository and sourcing the plugin file in your shell config. The README notes that load order matters: fzf-tab needs to come after the shell initializes its completion system but before other plugins that might intercept the Tab key. Keyboard shortcuts include Ctrl+Space to select multiple entries at once, F1 and F2 to switch between completion groups, and a slash key to keep completing further into a path without dismissing the menu. All key bindings are configurable. For users running tmux, the plugin can open completions in a floating popup window rather than inline in the terminal. A binary module is available to speed up file colorizing when working in directories with many files, since the default color handling is written in pure Zsh and can be slow in those cases.

Copy-paste prompts

Prompt 1
I use Oh-My-Zsh and want to install fzf-tab so my Zsh tab completions are fuzzy-searchable. Walk me through the correct plugin load order so it works alongside my other plugins.
Prompt 2
How do I configure fzf-tab with zstyle so it shows a file preview pane on the right side when I tab-complete a path?
Prompt 3
I want to select multiple files at once with fzf-tab using Ctrl+Space and then pass them all to a command. Show me how to set this up in my .zshrc.
Prompt 4
How do I open fzf-tab completions in a floating tmux popup window instead of inline in the terminal?
Prompt 5
My fzf-tab is slow when completing in directories with hundreds of files. How do I install the binary module to speed up colorizing?
Open on GitHub → Explain another repo

← aloxaf on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.