问题标签 [vimgrep]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
549 浏览

regex - 为什么在 :vimgrep vim 命令中使用 **/* 递归搜索当前目录?

为什么他们使用双星号?

我已经阅读了 Vim 的帮助vimgrep,查看了有关堆栈溢出和 vimcast 的内容,虽然我发现很多人说这是在当前目录中递归搜索的方式,但我还没有找到关于为什么的解释

让我们用一个例子来更容易解释。如果我想在当前目录下查找所有出现的 foo ,我可以使用

这样就变成了

所以看看{file}这个 grep 的部分:

  • 我知道这是一个文件路径。
  • 我知道星号 ( *) 是通配符。
  • 我知道正斜杠充当目录分隔符。

我的具体问题是为什么它的格式为

**/*

并不是

*/*

我尝试在几种不同的情况下使用/进行搜索,这似乎搜索了距当前目录正好 1 深的任何目录中的任何文件,我认为这就是使用双星号的原因。

ie 为什么是双星号?这是否通过一些我不完全理解的聪明机制表明“我希望你递归搜索”,或者这只是一个用来表示“递归搜索”的关键字?我完全关闭了吗,这不是 vim 的内置部分,而是 shell 的一部分?(这些部分不是我的实际问题,而是帮助理解我的困惑,我的实际问题在上面)。

如果有什么方法可以改善我的问题,请告诉我,这是我第一次问。

0 投票
2 回答
81 浏览

vim - vimgrep 可以与环视断言一起使用吗?

我正在尝试在一个大型 JavaScript 项目上自动执行一些文本操作,并希望使用 跳转到匹配项vimgrep,接下来我将使用各种宏调用。

我的目标行如下所示:

但是,不是这样的:

我只想匹配getText具有多个参数的用法,该参数未包含在数组中。

这个使用否定前瞻的搜索查询 ( /) 似乎有效:

但是,运行这个正则表达式vimgrep

...失败并显示此消息:

我怀疑我的正则表达式的前瞻部分是原因,因为当我删除它时错误就消失了。

有没有办法使用环视断言vimgrep

0 投票
0 回答
132 浏览

vim - Vimgrep:如何使用 find 命令创建 arglist?

我想使用 vimgrep重构 python 项目中的一些代码。假设这是项目结构:

nlp 和 test 文件夹都包含一些 python 文件。假设我的密码是./目录。我想包含此命令中的所有文件:

要包含在我在 vim 中的 args 列表中,如下所示:

然后使用 vimgrep 搜索模式:

问题是我无法创建 args 列表,它在 vim 中给了我一些元字符错误。

注意:虽然我可以这样做:

编辑:确切的错误是:

E79: Impossible de développer les métacaractères "`find . -type f -name" [Nouveau fichier]

这意味着无法发展为元字符。

0 投票
1 回答
102 浏览

vim - vim:快速修复窗口上的 grep/vimgrep 和错误:E499

我想在文件中搜索和列出模式,所以我可以使用vimgrep pattern % Now 这将创建一个 quickfix 窗口,如果我们键入:cw:cwindow它会打开搜索结果。

现在我想在这个 quickfix 窗口上 grep 或 vimgrep,进一步过滤。

例如:文件名:tmp

现在首先我使用vimgrep test %在 quickfix 窗口中获取以下内容。

现在我想立即搜索所有通过的测试。

如果:vimgrep pass %在 quickfix 窗口上给出,它指出,

e499: '%' 或 '#' 的空文件名,仅适用于 ":p:h"

我现在将此结果保存到临时文件,然后对其进行搜索,有没有简单的解决方案?

我的 Gvim:IM - Vi IMproved 7.2(2008 年 8 月 9 日,2019 年 6 月 6 日 12:19:18 编译)

0 投票
1 回答
29 浏览

vim - 如何在字符串之间搜索模式并快速修复?

在我的日志文件中,有时会有很多错误。我将过滤行之间的错误,并查看在其间执行的文件。

所以简而言之,我将搜索范围之间的模式。

现在这个结果显示在屏幕上。但我希望它在快速修复中,以便我可以选择不同的行直到我完成。如何将此结果推送到 quickfix 窗口?