首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu 20上的Ripgrep路径说明器

Ubuntu 20上的Ripgrep路径说明器
EN

Ask Ubuntu用户
提问于 2020-09-10 11:05:19
回答 1查看 170关注 0票数 0

我想在我的Ubuntu20机器上使用波纹。我从各种回购(apt,snap,cargo)安装了它,甚至自己建造了它,但总是遇到同样的问题:

根据手册,一个人应该能够只运行

rg 'pattern'

涟漪只会递归地搜索当前工作的dir。然而,对我来说,它似乎也总是期待一个路径说明符,它将找不到匹配,即使在当前目录的顶层存在一个具有模式的文件。

只有当我做这样的事情时,Ripgrep才能起作用:

rg 'pattern' *

这并不是太大的问题,但我打算在一个vim-addon中使用ripgrep,它期望使用手册中的行为。所以问题是:为什么波普雷普行为如此奇怪,我如何纠正这种行为?

编辑:

使用--debug标志运行命令将提供以下输出:

代码语言:javascript
复制
DEBUG|grep_regex::literal|grep-regex/src/literal.rs:59: literal prefixes detected: Literals { lits: [Complete(test)], limit_size: 250, limit_class: 10 }
DEBUG|globset|globset/src/lib.rs:435: built glob set; 0 literals, 0 basenames, 11 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
DEBUG|globset|globset/src/lib.rs:435: built glob set; 0 literals, 0 basenames, 11 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
DEBUG|globset|globset/src/lib.rs:435: built glob set; 0 literals, 0 basenames, 11 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
DEBUG|globset|globset/src/lib.rs:435: built glob set; 0 literals, 0 basenames, 11 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
DEBUG|globset|globset/src/lib.rs:430: glob converted to regex: Glob { glob: "**/*", re: "(?-u)^(?:/?|.*/)[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true }, tokens: Tokens([RecursivePrefix, ZeroOrMore]) }
DEBUG|globset|globset/src/lib.rs:435: built glob set; 0 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 1 regexes
DEBUG|globset|globset/src/lib.rs:435: built glob set; 0 literals, 0 basenames, 11 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
DEBUG|ignore::walk|ignore/src/walk.rs:1639: ignoring ./.cache: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("./.gitignore"), original: "*", actual: "**/*", is_whitelist: false, is_only_dir: false })))

...

然后,它与主目录中每个子文件夹的最后一行相同。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2020-09-10 12:52:42

好吧,多亏了布莱恩,我解决了这个问题。

ripgrep有一个内置的忽略逻辑,自动忽略它在.gitignore中找到的文件。

为了通过git保存我的dotfile,我在我的主目录中设置了一个存储库,默认情况下,它会忽略除我使用git add -f ...添加的文件之外的所有文件。也就是说,在我的主目录中的.gitignore文件中,我忽略了所有(*)文件,这反过来也导致了对它们的忽略。我不认为太多的人会遇到同样的问题,但也许有一天这会帮助到一个人。

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1274059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档