All Projects → Aloxaf → Fzf Tab

Aloxaf / Fzf Tab

Licence: mit
Replace zsh's default completion selection menu with fzf!

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Fzf Tab

Dotbare
Manage dotfiles and any git directories interactively with fzf
Stars: ✭ 327 (-57.03%)
Mutual labels:  fzf, zsh, zsh-plugin
Zsh Better Npm Completion
Better completion for npm
Stars: ✭ 346 (-54.53%)
Mutual labels:  zsh, zsh-plugin, completion
Dotfiles
My dotfiles 🚀. Includes configs for neovim, tmux, zsh, alacritty and more.
Stars: ✭ 47 (-93.82%)
Mutual labels:  fzf, zsh, tmux
Zsh Autocomplete
🤖 Real-time type-ahead completion for Zsh. Asynchronous find-as-you-type autocompletion.
Stars: ✭ 641 (-15.77%)
Mutual labels:  zsh, zsh-plugin, completion
Fzf Tab Completion
Tab completion using fzf
Stars: ✭ 127 (-83.31%)
Mutual labels:  fzf, zsh, completion
Dotfiles
Workstation configuration, provisioning and tools
Stars: ✭ 67 (-91.2%)
Mutual labels:  fzf, zsh, tmux
Fz
Cli shell plugin, the missing fuzzy tab completion feature of z jump around command.
Stars: ✭ 359 (-52.83%)
Mutual labels:  zsh, zsh-plugin, completion
Fzf Widgets
ZLE widgets of fzf
Stars: ✭ 72 (-90.54%)
Mutual labels:  fzf, zsh, zsh-plugin
Forgit
💤 A utility tool powered by fzf for using git interactively.
Stars: ✭ 1,823 (+139.55%)
Mutual labels:  fzf, zsh, zsh-plugin
Fzf
🌸 A command-line fuzzy finder
Stars: ✭ 40,965 (+5283.05%)
Mutual labels:  fzf, zsh, tmux
Jarvis
Dotfiles for a powerful, web development-focused environment powered by Neovim, iTerm2, tmux, and zsh
Stars: ✭ 617 (-18.92%)
Mutual labels:  fzf, zsh, tmux
Z.lua
⚡ A new cd command that helps you navigate faster by learning your habits.
Stars: ✭ 2,164 (+184.36%)
Mutual labels:  fzf, zsh, zsh-plugin
Black Void Zsh
🔮 Awesome, Customable Zsh Starter Kit 🌠🌠
Stars: ✭ 206 (-72.93%)
Mutual labels:  fzf, zsh, tmux
Extrakto
tmux - quickly select, copy/insert/complete text without a mouse
Stars: ✭ 320 (-57.95%)
Mutual labels:  tmux, completion
Kubectl Fzf
A fast kubectl autocompletion with fzf
Stars: ✭ 315 (-58.61%)
Mutual labels:  fzf, completion
Dotfiles
A repository that gathered files starting with dot
Stars: ✭ 701 (-7.88%)
Mutual labels:  zsh, tmux
History Search Multi Word
Multi-word, syntax highlighted history searching for Zsh
Stars: ✭ 314 (-58.74%)
Mutual labels:  zsh, zsh-plugin
Fzf Marks
Plugin to manage bookmarks in bash and zsh
Stars: ✭ 343 (-54.93%)
Mutual labels:  fzf, zsh-plugin
Cod
cod is a completion daemon for bash/fish/zsh
Stars: ✭ 288 (-62.16%)
Mutual labels:  zsh, completion
Symfony Console Completion
Automatic tab-key completion for Symfony console application options, arguments and parameters
Stars: ✭ 405 (-46.78%)
Mutual labels:  zsh, completion

fzf-tab

CI GitHub license

Replace zsh's default completion selection menu with fzf!

asciicast

Table of Contents

Install

NOTE: fzf-tab needs to be loaded after compinit, but before plugins which will wrap widgets, such as zsh-autosuggestions or fast-syntax-highlighting!!

Manual

First, clone this repository.

git clone https://github.com/Aloxaf/fzf-tab ~/somewhere

Then add the following line to your ~/.zshrc.

source ~/somewhere/fzf-tab.plugin.zsh

Antigen

antigen bundle Aloxaf/fzf-tab

Zinit

zinit light Aloxaf/fzf-tab

Oh-My-Zsh

Clone this repository to your custom directory and then add fzf-tab to your plugin list.

git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab

Prezto

Clone this repository to your contrib directory and then add fzf-tab to your module list in .zpreztorc.

git clone https://github.com/Aloxaf/fzf-tab $ZPREZTODIR/contrib/fzf-tab

Usage

Just press Tab as usual~

Available keybindings:

  • Ctrl+Space: select multiple results, can be configured by fzf-bindings tag

  • F1/F2: switch between groups, can be configured by switch-group tag

  • /: trigger continuous completion (useful when completing a deep path), can be configured by continuous-trigger tag

Available commands:

  • disable-fzf-tab: disable fzf-tab and fallback to compsys

  • enable-fzf-tab: enable fzf-tab

  • toggle-fzf-tab: toggle the state of fzf-tab. This is also a zle widget.

Configure

A common configuration is:

# disable sort when completing `git checkout`
zstyle ':completion:*:git-checkout:*' sort false
# set descriptions format to enable group support
zstyle ':completion:*:descriptions' format '[%d]'
# set list-colors to enable filename colorizing
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
# preview directory's content with exa when completing cd
zstyle ':fzf-tab:complete💿*' fzf-preview 'exa -1 --color=always $realpath'
# switch group using `,` and `.`
zstyle ':fzf-tab:*' switch-group ',' '.'

For more information, please see Wiki#Configuration.

Binary module

By default, fzf-tab uses zsh-ls-colors to parse and apply ZLS_COLORS if you have set the list-colors tag.

However, it is a pure zsh script and is slow if you have too many files to colorize. fzf-tab is shipped with a binary module to speed up this process. You can build it with build-fzf-tab-module, then it will be enabled automatically.

Difference from other plugins

fzf-tab doesn't do "complete", it just shows you the results of the default completion system.

So it works EVERYWHERE (variables, function names, directory stack, in-word completion, etc.). And most of your configuration for default completion system is still valid.

Compatibility with other plugins

Some plugins may also bind "^I" to their custom widget, like fzf/shell/completion.zsh or ohmyzsh/lib/completion.zsh.

By default, fzf-tab will call the widget previously bound to "^I" to get the completion list. So there is no problem in most cases, unless fzf-tab is initialized before a plugin which doesn't handle the previous binding properly.

So if you find your fzf-tab doesn't work properly, please make sure it is the last plugin to bind "^I" (If you don't know what I mean, just put it to the end of your plugin list).

Related projects

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].