• 模糊搜索工具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.

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

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

    ^core go$|rb$|py$
    

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

    天上我才必有用,千金散尽还复来!
  • 相关阅读:
    PHP里json_encode()与json_decod()区别
    数组进行排序
    tp5利用自带上传类实现单个文件与多文件上传
    mkdir() Permission denied 报错问题
    如何快速熟悉新项目的代码?
    Tp5自定义路径写入日志
    spring解决循环依赖
    spring注解的使用
    ssm的整合
    编程知识总结
  • 原文地址:https://www.cnblogs.com/lutaishi/p/13436206.html
Copyright © 2020-2023  润新知