A shell plugin that seamlessly adds fuzzy search to tab completion of z, lets you easy to jump around among your historical directories. Not any additional key binding is needed. Currently supports Bash and zsh.
By simply sourcing corresponding script file for your shell, you're all set. However, this plugin is sitting on top of z and fzf, so you must have them installed as well.
N.B. fz
needs to be sourced after z
.
Fig adds apps, shortcuts, and autocomplete to your existing terminal.
Install fz
in zsh or bash with one click.
Install fzf via Homebrew.
brew install fzf
Download z and fz.
mkdir ~/.bash_completion.d
curl "https://raw.githubusercontent.com/rupa/z/master/{z.sh}" \
-o ~/.bash_completion.d/"#1"
curl "https://raw.githubusercontent.com/changyuheng/fz/master/{fz.sh}" \
-o ~/.bash_completion.d/z"#1"
Add the following content to ~/.bashrc
:
if [ -d ~/.bash_completion.d ]; then
for file in ~/.bash_completion.d/*; do
. $file
done
fi
Install fzf via Homebrew.
brew install fzf
Install z and fz via zplug.
Add the following content to ~/.zshrc
:
zplug "changyuheng/fz", defer:1
zplug "rupa/z", use:z.sh
Install fzf.
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
Download z and fz.
mkdir ~/.bash_completion.d
curl "https://raw.githubusercontent.com/rupa/z/master/{z.sh}" \
-o ~/.bash_completion.d/"#1"
curl "https://raw.githubusercontent.com/changyuheng/fz/master/{fz.sh}" \
-o ~/.bash_completion.d/z"#1"
Add the following content to ~/.bashrc
:
if [ -d ~/.bash_completion.d ]; then
for file in ~/.bash_completion.d/*; do
. $file
done
fi
Install fzf.
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
Install z and fz via zplug.
Add the following content to ~/.zshrc
:
zplug "changyuheng/fz", defer:1
zplug "rupa/z", use:z.sh
z [dir name slug]<TAB>
zz [dir name slug]<TAB>
zz
limits the search base starting from current working directory.
Check z’s doc for more information.tab
/shift-tab
, ctrl-n
/ctrl-p
, ctrl-j
/ctrl-k
,
for next and previous item. Enter
for selection.
Check fzf’s doc
for the search syntaxes.FZ_CMD=z
specifies command name of fz
. Default is z
.FZ_SUBDIR_CMD=zz
specifies command name for subdirectory only z
.
Default is zz
.FZ_SUBDIR_TRAVERSAL=0
disables subdirectory completion.
Default is enabled.FZ_CASE_INSENSITIVE=0
disables case-insensitive subdirectory completion.
Default is enabled.FZ_ABBREVIATE_HOME=0
disables abbreviating ~
. Default is enabled.FZ_HISTORY_CD_CMD=_zlua
works with z.lua.