Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Fzf Tab | 2,025 | 12 days ago | 56 | mit | Shell | |||||
Replace zsh's default completion selection menu with fzf! | ||||||||||
Omnisharp Vim | 1,541 | 16 days ago | 24 | mit | Vim Script | |||||
Vim omnicompletion (intellisense) and more for C# | ||||||||||
Fzf | 725 | a year ago | 26 | mit | Shell | |||||
Ef-🐟-ient fish keybindings for fzf | ||||||||||
Extrakto | 632 | 3 months ago | 4 | mit | Shell | |||||
extrakto for tmux - quickly select, copy/insert/complete text without a mouse | ||||||||||
Fzf Marks | 430 | a month ago | 10 | mit | Shell | |||||
Plugin to manage bookmarks in bash and zsh | ||||||||||
Fzf Tab Completion | 374 | 12 days ago | 10 | gpl-3.0 | Shell | |||||
Tab completion using fzf | ||||||||||
Kubectl Fzf | 368 | 6 months ago | 13 | October 04, 2022 | mit | Go | ||||
A fast kubectl autocompletion with fzf | ||||||||||
1pass | 156 | a year ago | 6 | gpl-3.0 | Shell | |||||
A caching wrapper for the 1Password CLI | ||||||||||
Fish_files | 116 | 2 months ago | 2 | Shell | ||||||
Pmy | 104 | a year ago | 14 | April 05, 2022 | 2 | mit | Go | |||
:rocket: General purpose context-aware zsh completion engine powered by fuzzy finder. |
Replace zsh's default completion selection menu with fzf!
Table of Contents
NOTE: fzf-tab needs to be loaded after compinit
, but before plugins which will wrap widgets, such as zsh-autosuggestions or fast-syntax-highlighting!!
NOTE 2: fzf-tab ALSO needs fzf installed, otherwise it cannot work!
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 bundle Aloxaf/fzf-tab
zinit light Aloxaf/fzf-tab
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
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
Just press Tab as usual~
Available keybindings:
Ctrl+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.
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.
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.
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.
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).