vim 的 grep 插件`Leaderf rg`:grep 和模糊匹配的完美结合

本文介绍了vim的grep插件Leaderf rg,它结合了grep和模糊匹配,提供异步搜索功能。文章阐述了选择ripgrep的原因,如速度快、Windows上稳定性高、作者活跃。此外,还提供了使用Leaderf rg的基本操作和自定义快捷键的方法。
摘要由CSDN通过智能技术生成

前言

vim有很多著名的grep插件,我使用过的有ack.vim,ag.vim和ctrlsf.vim,它们应该也是目前用户最多的几个了。

  1. ack.vim
    起步比较早,早期后端grep工具是ack,后来也支持ag(the_silver_searcher),pt(the_platinum_searcher),rg(ripgrep)等工具了。它是一个比较传统的grep插件,不支持异步,要等到grep结束后才能显示结果,在大的项目中grep会卡好一阵子。它貌似也不再维护,我N久前提交的pull request还挂在那,它最近的代码更新在11个月前。
  2. ag.vim
    它其实是抄袭ack.vim,没错,是抄袭。在早期ack.vim还不支持ag时,它的作者在ack.vim代码的基础上稍微改了改,支持了ag。后来被ack.vim的作者给怼了,就放弃了对ag.vim的维护。目前功能上小于ack.vim。
  3. ctrlsf.vim
    这是国人开发的一个插件, 后端grep工具支持ack/ag/pt/rg,同时也支持异步,不过需要Vim 8.0.1039+或者NeoVim才支持异步。这个插件很好用,在我开发Leaderf rg之前一直使用的是它。

Leaderf rg顾名思义,后端基于rg,由于是LeaderF的子功能,基因上就决定它完美支持异步。同时LeaderF又是一个非著名的模糊查找插件,这使它可以在grep结果的基础上再通过模糊匹配的方式进行二次过滤,来帮助用户更快地锁定目标,这是目前上面提到的插件所不具备的。

为什么选择rg(ripgrep)

快速grep工具目前有ag, rg, pt, sift, ucg等。
我选择rg有以下几点原因:

  1. 速度比较快,rg的README上有作者的对比,我实测也是rg快点。
  2. Windows上bug少(bug到目前还没发现),ag和pt都遇到过bug。
  3. 作者很活跃,提的issue能很快得到回复。
  4. rg功能相对多些,可以从rg --help 看出来。

Leaderf rg 使用介绍

Leaderf rg的使用也比较简单,只要Leaderf[!] + rg命令和选项(同命令行上一样)就可以了。
具体使用方法可以用:Leaderf rg -h来查看。

usage: Leaderf[!] rg [-h] [-e <PATTERN>...] [-F] [-i] [-L] [-P] [-S] [-s] [-v]
                     [-w] [-x] [--hidden] [--no-config] [--no-ignore]
                     [--no-ignore-global] [--no-ignore-parent]
                     [--no-ignore-vcs] [--no-pcre2-unicode] [-E <ENCODING>]
                     [-M <NUM>] [-m <NUM>] [--max-depth <NUM>]
                     [--max-filesize <NUM+SUFFIX?>]
                     [--path-separator <SEPARATOR>] [--sort <SORTBY>]
                     [--sortr <SORTBY>] [-f <PATTERNFILE>...] [-g <GLOB>...]
                     [--iglob <GLOB>...] [--ignore-file <PATH>...]
                     [--type-add <TYPE_SPEC>...]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值