FZF 使用备忘
FZF 是一个通用的命令行模糊搜索工具,可以与多种工具配合使用,例如CRTL+R搜索历史命令、快速打开文件等。用 Go 编写,速度非常快,教程与效果演示参考。
1. 安装
1
2
3
4
|
# 克隆仓库
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
# 运行安装脚本
~/.fzf/install
|
1.1 配置zsh
1
2
3
4
5
6
7
8
9
|
# 在 ~/.zshrc 的插件中中添加 fzf,例如下面, 这里的插件使用空格分隔
plugins=(git sudo z zsh-syntax-highlighting zsh-autosuggestions fzf)
# 过程
vim ~/.zshrc
/plugins= # 命令模式直接输入前面字符串 然后回车 表示搜索这个命令
# 在末尾添加 fzf
# 保存退出 (:wq)
source ~/.zshrc # 使配置生效
|
2. 基本使用
2.1 文件搜索
1
2
3
4
5
|
# 搜索当前目录文件
fzf
# 搜索并打开文件
vim $(fzf)
|
2.2 历史命令搜索
按 Ctrl-R 搜索历史命令,输入关键字实时过滤
2.3 模糊搜索
在shell中,输入**再按tab可以进入fzf的模糊搜索模式,输入关键字后按回车即可跳转到对应目录。
2.4 子目录直达
Alt+C 可以进入fzf的子目录搜索模式,输入关键字后按回车即可跳转到对应目录。
3. 高级用法
3.1 搜索语法
在 fzf 搜索框中可以使用特殊语法:
1
2
3
4
5
6
7
8
|
abc # 包含 abc
^abc # 以 abc 开头
abc$ # 以 abc 结尾
!abc # 不包含 abc
abc def # 同时包含 abc 和 def
abc|def # 包含 abc 或 def
'abc # 精确匹配 abc(非模糊)
!^abc # 不以 abc 开头
|
3.2 多选模式
1
2
|
# 多选文件(Tab 选择,Shift-Tab 取消)
fzf --multi
|
参考链接