模糊搜索工具fzf的安装和使用

模糊搜索工具fzf的安装和使用

fzf简介

fzf使用golang编写,让你通过输入模糊的关键词就可以定位文件或文件夹,当你的思维也习惯了模糊匹配后,在工作中可以大幅提高你的工作效率。

加入你记得文件名中包含yo,fi,na,那你只需要把所有文件送给fzf,然后在窗口输入yo fi na就可以了,无论是you_file_name,还是you_name_file都可以匹配上。

安装

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

升级

cd ~/.fzf && git pull && ./install

简单使用

find * -type f | fzf > selected

fzf会从STDIN 读入数据,然后将结果输出到STDOUT,上面命令从find徳搜索结果中读入,输出到selected中。

fzf快捷键

在finder(输出交换窗口)里,

  • Ctrl-J/Ctrl-K/Ctrl-N/Ctrlk-N可以用来将光标上下移动
  • Enter键用来选中条目, Ctrl-C/Ctrl-G/Esc用来退出
  • 在多选模式下(-m), TAB和Shift-TAB用来多选
  • Mouse: 上下滚动, 选中, 双击; Shift-click或shift-scoll用于多选模式

布局

#fzf默认全屏模式,你可以定制高度
vim $(fzf --height 40%)
#你可以通过$FZF_DEFAULT_OPTS来设定默认值
export FZF_DEFAULT_OPTS='--height 40% --reverse --border'

搜索语法

fzf默认会以“extened-search"模式启动, 这种模式下你可以输入多个以空格分隔的搜索关键词, 如^music .mp3$, sbtrkt !fire.

TokenMatch TypeDescription
sbtrktfuzzy-match匹配sbtrkt
^musicprefix-exact-match以music开头
.mp3$suffix-exact-match以.mp结尾
‘wildexact-match(quoted)J精确包含wild
!fileinverse-exact-match不包含fire
!.file$inverse-suffix-match不以.mp3结尾

如果你不想用fuzzy match, 可以用fzf -e做精确匹配,|可以做or匹配, 比如:

^core go$|rb$|py$

表示以core开头,以go或rb或py结尾。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值