This zsh plugin is a collection of fzf-tab's sources. Please read the wiki first.
This plugin respects zsh plugin standard, so if you use any plugin manager and follow the instructions of your plugin manager, it can be installed correctly.
If you don't use any plugin manager, just add the following code to ~/.zshrc:
source /the/directory/of/this/plugin/*.plugin.zshNOTE: Don't source *.zsh! They will be sourced by *.plugin.zsh automatically.
You need some optional tools:
- bat: view code
- pandoc: convert any kind of file to
markdown. Any generated cache file will be store in same
/tmp/zsh-fzf-tab-$USERas fzf-tab - render markdown:
- grc: colorize the output of some commands
- less: a pager
This plugin uses less to display any file. less can be configured by
the environment variable LESSOPEN.
$ echo $LESSOPEN
|/usr/bin/lesspipe %sNOTE: in some GNU/Linux distributions, it's lesspipe.sh or other names.
lesspipe is a script to select
different tool for different kind of file.
You can write your ~/.lessfilter to
customize lesspipe.
For example:
lesspipe selects ls to display
a directory.
You can install some tools to view directories, such as:
You can install some tools to view code, such as:
- syncat: use tree sitter
- bat: use sublime syntax
- pygmentize: use python
- rouge: use ruby
- vimpager: use vim script
- nvimpager: use vim script
lesspipe doesn't display image. You can install some tools to view images, such as:
- chafa: written in C
- catimg: written in C
- timg: written in C++
- tiv: written in Vala
- plotext: written in python
My ~/.lessfilter can be a reference.
pinyin-completion: complete pinyin in your zsh.
This plugin also uses less to view the completion results of pinyin-completion.
This plugin uses any one of the following tools to display user information:
fingerpinky
This plugin also uses less to view commands. lesspipe uses ldd to view
binary programs.
zinit is a zsh plugin manager.
Preview every zsh plugin's README.md.
Other tools which can display binary files are supported, too:
odxxd
This plugin uses your git's pagers to view the outputs of some git command.
For example, by default:
$ git log --oneline
3ee9df0 :heavy_plus_sign: Add emojify
d74f60a :sparkles: Add sysctl, lsof, arp, netstat, ss, archlinux-java, coredumpctl
592d286 :pencil2: Fix a typo about command
4dd0c69 :children_crossing: Fix #8, don't mkdir ~/.gitmojiYou can install emojify then:
git config --global pager.log emojify$ git log --oneline
3ee9df0 ➕ Add emojify
d74f60a ✨ Add sysctl, lsof, arp, netstat, ss, archlinux-java, coredumpctl
592d286 ✏️ Fix a typo about command
4dd0c69 🚸 Fix #8, don't mkdir ~/.gitmojiMy ~/.config/git/config can be a reference.
Preview which command will be killed after kill XXX.
Preview which command will be executed after make XXX.
We cannot ensure any program (eza, etc) are installed in other machine
(Android). This plugin uses Android's ls to display directory and cat to
display text.
zstyle ':fzf-tab:sources' config-directory /a/directoryYou can use your customized fzf-tab sources to override
this plugin's sources.
*.zsh in config-directory are standalone zsh scripts which can be syntax
highlighted by your editor:
# :fzf-tab:complete:context --optional-fzf-option
foobar $word- Built-in commands and aliases should start with
(\\|)to support\command - Commands should start with
(\\|*/|)to support=command
That is, \command <TAB>, =command <TAB> will get same preview windows as
command <TAB>.















