今天無意中嘗試了fzf,才發現這個工具的威力無窮,畢竟是非常好的工具,第一次都把它的優點都釋放出來也不現實,先熟悉一下吧,后面在實戰中再不斷地學習總結。
它是什么:
Fuzzy finder 是一款使用 GO 語言編寫的交互式的 Unix 命令行工具。可以用來查找任何 列表 內容,文件、Git 分支、進程等。所有的命令行工具可以生成列表輸出的都可以再通過管道 pipe 到 fzf 上進行搜索和查找
它的優勢:
- GO 語言編寫,編譯完生成可執行文件沒有任何依賴
- 搜索/查找速度飛快
- 功能全面/可視化界面體驗很棒
- 周邊插件豐富 (vim, tmux, fuzzy auto-completion)
安裝方法:
* mac安裝:
brew install fzf
# 如果要使用內置的快捷鍵綁定和命令行自動完成功能的話可以按需安裝
$(brew --prefix)/opt/fzf/install
* ubuntu安裝:
wget https://github.com/changyuheng/zsh-interactive-cd/blob/master/zsh-interactive-cd.plugin.zsh cp zsh-interactive-cd.plugin.zsh ~/.fzf/shell echo 'source ~/.fzf/shell/zsh-interactive-cd.plugin.zsh' >> ~/.zshrc
使用指南:
* 打開方法
命令行下執行 fzf
即可展示當前目錄下所有文件列表,可以用鍵盤上下鍵或者鼠標點出來選擇
* 和vim組合使用:
vim $(fzf)
* 切換目錄:
cd $(find * -type d | fzf)
* 切換git分之:
git checkout $(git branch -r | fzf)
* shell命令補全:
fzf 默認使用 **
來補全 shell 命令,比起默認的 tab 補全,fzf 補全不知道高到哪里去了。cd, vim, kill, ssh, export… 統統都能補全,好用哭
先介紹到這里吧,一次太多也學習不完,后面再繼續深入的分析。
參考文檔:
1 https://keelii.com/2018/08/12/fuzzy-finder-full-guide/
2 https://github.com/junegunn/fzf-bin/releases