RipGrep介绍与使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:仅用于学习所用 参考了 https://www.liuvv.com/p/868944ef.html

  • 说到文本搜索工具,大家一定会知道 grep, 它是 linux 最有用并最常用的工具之一。但如果在一个大的工程项目中搜索某个关键词,它会有些耗时。
  • 出现了现在的新的替代者 Ripgrep 简称 rg

一、RG用法说明

  • 功能 与 GNU Grep的功能类似
    • RipGrep 是一个以行为单位的搜索工具, 它根据提供的(模式匹配) pattern 递归地在指定的目录里搜索。
    • 它是由 Rust 语言写成,相较与同类工具,它的特点就是无与伦比地快。
  • 使用手册
    • 自动递归搜索 (grep 需要-R)
    • 自动忽略.gitignore 中的文件以及二进制文件
    • 可以搜索指定文件类型(rg -t py foo限定 python 文件, rg -T js foo排除 js 文件)
    • 支持大部分 grep 的 feature(常用的都有)
    • 支持各种文件编码(UTF-8, UTF-16, latin-1, GBK, EUC-JP, Shift_JIS 等等)
    • 支持搜索常见压缩文件(gzip, xz, lzma, bzip2, lz4)
    • 自动高亮匹配的结果

1.1 扩展阅读

  • 还有更强的:比如现在的rga:ripgrep,能够搜索PDFs, E-books,Office documents, zip, tar.gz等等
  • 参考: https://github.com/phiresky/ripgrep-all

二、基础使用

  1. cat a.txt, 我们以下面的文件为测试文件, 可以发现rg 和 grep 的选项大部分一样
test
a
b
c
d
e
f
g
test1
TEST2
  1. 我们先来一个最基础的搜索:
rg 'test'  a.txt
1:test
9:test1
  1. -w有word之意,表示搜索的字符串作为一个独立的单词时才会被匹配到。
rg -w 'test'  a.txt
1:test
  1. 使用-i选项,即可在搜索时不区分大小写
rg -i 'test'  a.txt
1:test
9:test1
10:TEST2
  1. -l只打印有匹配的文件名
rg -l 'test'  a.txt
a.txt
  1. -C 输出匹配上下几行的内容
rg -C 2 'c'  a.txt

2-a
3-b
4:c
5-d
6-e
  • 支持的文件类型可以通过 rg --type-list 查看

三、高阶使用

  1. 使用 -e REGEX 来指定正则表达是
rg -e "*sql" -C2
  1. 默认 rg 会忽略 .gitignore 和隐藏文件,可以使用 -uu 来查询所有内容
rg -uu "word" .
  1. 可以使用 -t type 来指定文件类型:
rg -t markdown "mysql" .  # 在 md 文件中查找 “mysql” 关键字

三、搜索文件

  1. 列出当前文件夹会进行查询的所有文件, 该选项其实可相当于:find . -type f,查找当前目录所有文件
rg --files . 
alias rgf='rg --files | rg' # 可来个别名
  1. 搜索以 md 为后缀的文件
rg --files . | rg -e ".md$" # 正则匹配

四、vim中使用

  • 配合 fzf
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } "极限搜索文件
Plug 'junegunn/fzf.vim'
nnoremap <leader>fo :Files<CR>"映射
nnoremap <leader>fif :Rg<CR> "映射

在这里插入图片描述


总结:

  • 对于Linux中常用命令rg的使用方法记录
  • 16
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: VSCode Ripgrep 是一款在 VSCode 编辑器中使用 ripgrep 工具的扩展插件。rg(ripgep)是一个适用于文本搜索的非常快速的命令行工具,它可以在大规模文件中查找匹配字符串。 要安装 VSCode Ripgrep,您可以按照以下步骤进行操作: 1. 打开 VSCode 编辑器。 2. 点击左侧侧边栏最底部的 "扩展" 图标,或者按下快捷键 Ctrl+Shift+X,打开扩展视图。 3. 在搜索栏中输入 "Ripgrep",会显示出 "Ripgrep for Visual Studio Code"。 4. 点击 "Ripgrep for Visual Studio Code" 扩展插件,并点击 "安装" 按钮。 5. 安装完成后,点击 "重新加载" 按钮,以启用插件。 安装完成后,您可以使用以下方法在 VSCode 中使用 ripgrep: - 按下快捷键 Ctrl+Shift+P,然后输入 "Ripgrep: Search" 进行文件搜索。 - 在搜索框中输入您要查找的关键词。 - 在搜索结果中,您可以单击文件路径,在编辑器中打开该文件并查看匹配结果。 此外,您还可以自定义配置 ripgrep 的工作方式。您可以通过按下快捷键 Ctrl+Shift+P,然后输入 "Preferences: Open Settings(JSON)" 打开设置文件,并在其中添加以下配置: ```json "ripgrep.useRipgrep": true, "ripgrep.path": "/path/to/ripgrep" ``` 将 "/path/to/ripgrep" 替换为您实际安装 ripgrep 的路径。 这样,您就可以在 VSCode 编辑器中使用 ripgrep 进行快速且高效的文本搜索了。 ### 回答2: VSCode Ripgrep插件是一款用于在Visual Studio Code中执行快速代码搜索的工具。下面是使用VSCode Ripgrep插件的安装步骤: 1.打开Visual Studio Code。 2.点击"扩展"按钮,或使用快捷键Ctrl + Shift + X,打开扩展面板。 3.在搜索栏中输入"Ripgrep"关键词,然后按下Enter键进行搜索。 4.在搜索结果中,找到"Ripgrep"插件并点击"安装"按钮。 5.等待插件安装完成,安装过程可能需要一些时间,取决于您的网络速度。 6.安装完成后,您将看到一个"已安装"的提示消息。 7.现在,您可以在左侧的侧边栏中找到"Ripgrep"插件的图标。 8.单击"Ripgrep"插件图标,它将展开插件面板。 9.在插件面板中,您可以输入搜索关键词,并选择要搜索的目录或文件。 10.按下Enter键或点击搜索按钮,插件将在所选目录或文件中执行搜索,并在搜索结果面板中显示结果。 11.您可以点击搜索结果面板中的行号来跳转到代码中的相应位置。 总结:VSCode Ripgrep插件是一个功能强大且易于使用的代码搜索工具,通过按照上述步骤完成安装,您可以轻松地在Visual Studio Code中执行快速代码搜索。 ### 回答3: VSCode Ripgrep 是一款在 Visual Studio Code 编辑器上使用的搜索工具,采用了 Ripgrep 引擎,能够快速、高效地搜索文本和代码文件。下面是 VSCode Ripgrep 的安装步骤: 1. 打开 Visual Studio Code 编辑器,并确保已经安装了最新版本。 2. 在 VSCode 中点击左侧的扩展按钮,或按下 `Ctrl+Shift+X` 快捷键打开扩展视图。 3. 在搜索框中输入 "Ripgrep",然后点击搜索结果中的 "Ripgrep" 扩展。 4. 点击 "安装" 按钮进行安装。 安装完成后,你就可以在 VSCode 中使用 Ripgrep 进行搜索了。使用 Ripgrep 的方式有以下几种: 1. 使用快捷键。在你想要搜索的文件或文件夹上按下 `Ctrl+Shift+F` 快捷键,然后在搜索框中输入关键词,点击 Enter 开始搜索。 2. 使用命令面板。按下 `Ctrl+Shift+P` 打开命令面板,输入 "Ripgrep: Search",然后按下 Enter,输入关键词后开始搜索。 3. 使用右键菜单。在左侧的资源管理器视图中,右键点击想要搜索的文件或文件夹,选择 "使用 Ripgrep 在文件夹中搜索",然后输入关键词开始搜索。 搜索结果将会以一种可交互的方式展示在 VSCode 编辑器中,你可以点击搜索结果进行导航和查看。此外,Ripgrep 还提供了一些自定义配置选项,你可以在 VSCode 的设置中进行调整,以满足你的需求。 总之,通过以上步骤你可以轻松安装并使用 VSCode Ripgrep 进行高效的文本和代码搜索。希望以上信息能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值