业界动态
模糊搜索神器fzf
2024-10-29 15:05

fzf是目前最快的fuzzy finder。使用golang编写。结合其他工具(比如ag和fasd)可以完成非常多的工作。
让你通过输入模糊的关键词就可以定位文件或文件夹。当你的思维也习惯了模糊匹配后,在工作中可以大幅提高你的工作效率。
模糊搜索的概念如下,你记得文件名含有con, te, go, 那么你只需要把所有文件送给fzf, 然后在窗口里输入con te go就可以了,不管实现名是test_continus_go还是go_cont_test都会匹配上。

模糊搜索神器fzf

使用git


	

	

fzf默认会从STDIN读入数据,然后将结果输出到STDOUT


	

上面命令从find的搜索结果中读入,输出到文件selected中

在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默认全屏模式,你可以定制高度


	

你可以通过$FZF_DEFAULT_OPTS来设定默认值


	

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

Token Match type Description sbtrkt fuzzy-match 匹配sbtrkt ^music prefix-exact-match 以music开头 .mp3^ suffix-exact-match 以.mp3结尾 'wild exact-match(quoted) 精确包含wild !fire inverse-exact-match 不包含fire !.mp3$ inverse-suffix-exact-match 不以.mp3结尾

如果你不想用fuzzy match, 可以用做精确匹配
符号"|"可以做or匹配, 比如


	

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

  • FZF_DEFAULT_ COMMAND
    • 设定默认输入
    • 比如`export FZF_DEFAULT_ COMMAND='ag -g ""'
  • FZF_DEFAULT_OPTS
    • 设定默认选项
    • 比如`export FZF_DEFAULT_OPTS="--reverse --inline-info"

在命令行下按下ctrl-t会打开fzf窗口,如果你选中某个条目并按下Enter, 选中的条目会被拷贝到命令行上
如果想同时预览文件内容,可以使用选项


	

也可以用和
前者是如果只有一个条目,那么自动选中并退出fzf
后者是如果条目为空,自动退出
上面两个选项对ALT-C也有用

在命令行下按下ctrl-r, fzf会列出history命令,选中条目并离开fzf的话, 选中条目会被拷到命令行上
在zsh下可以使用下面的方法来按下C-XC-R来直接执行


	

在命令行上按下alt-c, 会列出当前文件夹下的目录,选中条目会自动进入到相应目录

默认可以通过**来触发文件或目录的自动完成


	

比如


	

如果使用--preview选项, fzf会自动用外部程序打开现在条目的文件, {}会被fzf选中行内容代替


	

建议安装rougify(先安装ruby, 然后)
然后在.zshrc里用函数或别名


	

函数是更好的方式, 用alias的话,为了绕开'的问题,需要用一个双引号加一个间引号再加一个双引号才能生成一个单引号

上图左侧是文件列表,右侧是rougify生成的预览窗口,可以用鼠标上下滚动,遗憾的是用键盘没法移动光标到右侧窗口进行上下滚动。

安装


	

cd后按ctrl-i就会打开fzf finder窗口


	

	

	

	

	

	

在.vimrc里用vunble安装

    以上就是本篇文章【模糊搜索神器fzf】的全部内容了,欢迎阅览 ! 文章地址:http://www78564.xrbh.cn/news/26154.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多   
最新文章
今天有好东西,大折扣!
仰仰铺子·好物盘点这一期好物盘点,千万别错过!都是好宝贝,超低价,就连我们好久没有福利活动的丝蓓缇黑姜分解酵母也弄到了特
SEO推广排名的奥秘,全面解析实现路径与战略意义
SEO推广排名是指通过搜索引擎优化技术提高网站在搜索引擎结果页面(SERP)中的排名。实现SEO排名需要优化网站内容、结构、技术等
【图】领克05欢迎莅临赏鉴 价格直降1.1万 详询:4009728340
购好车来领福新年享9重好礼【试驾礼】进店试乘试驾均享受精美礼品一份【大客户】指定企业员工购车享3000元补贴。【置换礼】至高
快步剪辑师(快剪辑教学)
摘要:快步剪辑师,快剪辑教学课程,场课为您整理出关于快步剪辑师的相关在线教程知识,欢迎访问了解快步剪辑师(快剪辑教学)的
推动手机能效标准化:从用户呼声看行业未来
近年来,智能设备的普及让我们越来越依赖手机,而手机的能效问题逐渐引起了用户的关注。近期,有用户提出建议,希望将手机能效列
GPT-4 接入 Office 全家桶:Word 一键变成 PPT,打工人的春天来了!
作者 | 屠敏出品 | CSDN(ID:CSDNnews)这一周的科技圈异常地热闹,且多数都是大模型给的:周二
双十二荣耀手机别乱买!这三款物美价廉,性价比几乎“零差评”
每年到了双十二,买手机这件事就像一场“技术与钱包的拔河赛”。想选性价比高的,又怕踩雷;想要配置好的,又担心被钱包发出“哀
分析Android 搜狗输入法在微信和QQ中发送图片和表情
好记性不如烂笔头。生活中多做笔记,不仅可以方便自己,还可以方便他人。有没有发现,有时候表情或图片的交流更能让气氛更愉悦。
企业SEO用什么程序:提升搜索引擎排名的必备工具与策略
在当今数字化时代,企业的在线存在变得日益重要。为了在激烈的市场竞争中取得优势,企业必须充分利用搜索引擎优化(SEO)技术。
Python 到底能干嘛?—次学会Python所有开发技能_学python能干嘛,需要全学吗 (2)
最后 Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多ÿ