10 个版本 (3 个稳定版)

1.2.0 2023 年 8 月 8 日
1.1.0 2023 年 1 月 29 日
0.5.1 2022 年 8 月 1 日
0.5.0 2022 年 4 月 24 日
0.1.2 2022 年 2 月 19 日

#2216 in 命令行工具

MIT 许可证

1MB
2.5K SLoC

igrep - 交互式 Grep

在后台运行 grep (ripgrep 的库),允许交互式选择其结果并在选择的文本编辑器中打开所选匹配项(默认为 vim)。

igrep 支持 macOS 和 Linux。据说它也适用于 Windows。

用法

ig[选项] <模式|--类型-列表> [路径]...

参数

<PATTERN>    Regular expression used for searching.
<PATHS>...   Files or directories to search. Directories are searched recursively.
             If not specified, searching starts from current directory.

选项

-., --hidden                  Search hidden files and directories. By default, hidden files and
                              directories are skipped.
--editor <EDITOR>             Text editor used to open selected match.
                              [possible values: check supported text editors section]
-g, --glob <GLOB>             Include files and directories for searching that match the given glob.
                              Multiple globs may be provided.
-h, --help                    Print help information
-i, --ignore-case             Searches case insensitively.
-S, --smart-case              Searches case insensitively if the pattern is all lowercase.
                              Search case sensitively otherwise.
-t, --type <TYPE_MATCHING>    Only search files matching TYPE.
                              Multiple types may be provided.
-T, --type-not <TYPE_NOT>     Do not search files matching TYPE-NOT.
                              Multiple types-not may be provided.
    --theme <THEME>           UI color theme [default: dark] [possible values: light, dark]
    --type-list               Show all supported file types and their corresponding globs.
-V, --version                 Print version information.

注意:如果设置了环境变量 RIPGREP_CONFIG_PATHig 会尊重 ripgrep配置文件,并从中读取所有支持选项。

快捷键

操作
qEscCtrl+c 退出
Downj 选择下一个匹配项
Upk 选择上一个匹配项
RightlPageDown 在下一个文件中选择匹配项
LefthPageUp 在上一文件中选择匹配项
ggHome 跳转到第一个匹配项
Shift-gEnd 跳转到最后一个匹配项
Enter 打开当前文件
ddDelete 过滤掉所选匹配项
dw 过滤掉当前文件中的所有匹配项
v 切换垂直上下文查看器
s 切换水平上下文查看器
F5 打开搜索模式弹出窗口

支持的文本编辑器

igrep 支持 Vim、Neovim、nano、VS Code(稳定版和内部预览版)、Emacs、EmacsClient、Helix、SublimeText、Micro、Intellij、Goland 和 Pycharm。如果你的编辑器未在此列表中,但仍想使用 igrep,请提交一个问题。

指定文本编辑器

要指定编辑器,可以使用以下选项之一(按优先级排序):

  • --editor 选项,
  • $IGREP_EDITOR 变量,
  • $VISUAL 变量,
  • $EDITOR 变量。

优先级高的选项会覆盖优先级低的选项。如果这些选项都没有设置,则默认使用 vim。

安装

预构建的二进制文件

igrep 二进制文件可以从 GitHub 下载。

Homebrew

brew tap konradsz/igrep https://github.com/konradsz/igrep.git
brew install igrep

Scoop

scoop bucket add igrep https://github.com/konradsz/igrep.git
scoop install igrep

Arch Linux

pacman -S igrep

从源码构建

通过运行以下命令从源码构建和安装: cargo install igrep

依赖项

~16–29MB
~432K SLoC