fzf模糊搜索神器的安装和使用
fzf是一个通用的命令行模糊查找器, 通过输入模糊的关键词就可以定位文件或文件夹。结合其他工具(比如rg)可以完成非常多的工作,在工作中可以大幅提高你的工作效率。
fzf可以用于文件、命令历史记录、进程、主机名、书签、git提交等。
1. fzf使用
1.1 安装
|
Using Homebrew
You can use Homebrew (on macOS or Linux) to install fzf.
brew install fzf
# To install useful key bindings and fuzzy completion:
$(brew --prefix)/opt/fzf/install
1.2 使用
安装后, 可以执行下fzf
, 先体验下, 另外 fzf 重写了 ctrl+r
搜索历史命令
|
- 搜索过程中, CTRL-J 和 CTRL-K 向上翻和向下翻
- bash和zsh的模糊完备, 默认触发是
**
, 例如:vim **<TAB>
, 或cd **<TAB>
, 或ssh **<TAB>
, 简直好用到飞起.
# Files under the current directory
# - You can select multiple items with TAB key
vim **<TAB>
# Files under parent directory
vim ../**<TAB>
# Files under parent directory that match `fzf`
vim ../fzf**<TAB>
# Files under your home directory
vim ~/**<TAB>
# Directories under current directory (single-selection)
cd **<TAB>
# Directories under ~/github that match `fzf`
cd ~/github/fzf**<TAB>
- 一边查一边预览
|
1.3 搜索语法
Token | Match type | Description |
| fuzzy-match | Items that match |
| exact-match (quoted) | Items that include |
| prefix-exact-match | Items that start with |
| suffix-exact-match | Items that end with |
| inverse-exact-match | Items that do not include |
| inverse-prefix-exact-match | Items that do not start with |
| inverse-suffix-exact-match | Items that do not end with |
|
- 可以配合管道使用