Everyone who works in the shell needs a faster way to get around. fzf and rg in zsh makes for a great combination. I’ve been using this setup for a while now and it allows me to jump around my filesystem.
$ brew install fzf rg
To install useful key bindings and fuzzy completion:
$ $(brew --prefix)/opt/fzf/install
Adding a couple of lines to .zshrc
# Setting rg as the default source for fzf
export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow -g "!{.git,node_modules}/*" 2> /dev/null'
# To apply the command to CTRL-T as well
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
And we’re done!
Fuzzy history search
$ <crtl> + r
$
7063 bundle
7064 bundle exec middleman build
7065 time bundle exec middleman build
7066 bundle install
7067 bundle purge
7068 bundle --help
7069 bundle clean
7070 bundle clean --force
7071 bundle exec middleman server
7115 bundle exec middleman
7161 bundle exec middleman version
7186 bundle exec middleman server
7196 bundle install
7197 bundle exec middleman server
7265 bundle install
7266 bundle update
7267 gem install bundler --pre
7269 bundle exec middleman build
> 7409 bundle exec middleman server
129/7409 +S
> bundle
Fuzzy file search
$ <ctrl> + t
$
> zshrc
\ 1678/972367
> .zshrc
.zshrc.zwc
dotfiles/zsh/.zshrc
.oh-my-zsh/templates/zshrc.zsh-template
.oh-my-zsh/plugins/redis-cli/_redis-cli
.oh-my-zsh/themes/crcandy.zsh-theme
.oh-my-zsh/plugins/react-native/README.md
.oh-my-zsh/plugins/react-native/_react-native
.oh-my-zsh/plugins/react-native/react-native.plugin.zsh
.oh-my-zsh/plugins/arcanist/README.md
.oh-my-zsh/plugins/archlinux/README.md
.oh-my-zsh/plugins/rsync/rsync.plugin.zsh
.oh-my-zsh/plugins/arcanist/arcanist.plugin.zsh
.oh-my-zsh/plugins/archlinux/archlinux.plugin.zsh
.oh-my-zsh/plugins/mercurial/README.md
.oh-my-zsh/plugins/dircycle/dircycle.plugin.zsh
.oh-my-zsh/plugins/mercurial/mercurial.plugin.zsh
.oh-my-zsh/themes/tjkirch.zsh-theme
.oh-my-zsh/plugins/ember-cli/README.md
Fuzzy directory go to
$ <alt> + c
$
> chrome
| 16635/70115
> Library/Caches/Google/Chrome
Applications/Chrome Apps.localized
Library/Caches/Google/Chrome/Default
Applications/Chrome Canary Apps.localized
Library/Application Support/Google/Chrome
Library/Caches/Google/Chrome/Default/Cache
Library/Application Support/Google/Chrome/pnacl
Library/Application Support/Google/Chrome Canary
Library/Caches/Google/Chrome/Default/Media Cache
Library/Application Support/Google/Chrome/Default
Library/Application Support/Google/Chrome/Crashpad
Library/Caches/Google/Chrome/PnaclTranslationCache
Library/Application Support/Google/Chrome/EVWhitelist
Library/Application Support/Google/Chrome/PepperFlash
Library/Application Support/Google/Chrome/ShaderCache
Library/Application Support/Google/Chrome/WidevineCDM
Applications/Chrome Canary Apps.localized/app_list.app
Library/Application Support/Google/Chrome/Crashpad/new
Library/Application Support/Google/Chrome/OriginTrials
Published on 19 Oct 2017 by Stanley Tan