问题标签 [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 投票
2 回答
1124 浏览

regex - 如何设置 Vim 以搜索和排序包含某个字符串的所有行?

我正在使用 vim 管理待办事项列表,并想设置一个热键来执行以下操作:

  1. 查找包含光标下单词的所有行。世界总是一个标签,格式为:#mytaghere

  2. 按其中包含的另一个标签按字母顺序对所有这些行进行排序。该标签再次采用#mytaghere 格式。例如,所有带有标签#priorityA 的行都将按字母顺序排列并放置在所有带有标签#priorityB 的行之上,依此类推。

  3. 将所有这些行放入 Vim 的 quickfix 窗口。

通过将以下内容放入我的 .vimrc 文件中,我设法实现了 1 和 3 的有限版本:

每当光标下的单词包含 # 时,此设置就会失败,并且只要字符是其他字符(例如 _ ),它就会起作用。产生的错误是:“E682:无效的搜索模式或分隔符”,看起来像 # 正在干扰与 vimgrep。

另外,我不知道如何按优先级标签对行进行排序。

提前感谢您的帮助。我只是在学习 Vim,如果我能解决这个问题,我就可以将它用于我所有的组织工作。

0 投票
2 回答
5933 浏览

vim - 如何递归地grep目录内的模式?

我想 grep 所有以以下开头的字符串模式: student_ ,然后 是任意数量的符号(字母和数字)并以.tcl 结尾

0 投票
1 回答
180 浏览

vim - Vimgrep 不打开在新缓冲区中找到的第一个匹配项

我曾经研究过ag.vim。目前它在第一次出现的缓冲区中打开文件,默认行为 vimgrep。我想知道是否有不这样做的选项,并且能够在搜索后直接导航到快速列表。

谢谢

0 投票
3 回答
847 浏览

search - 是否可以使用 vimgrep 来直观地选择当前文件?

我只想在当前文件的视觉选择中而不是整个文件中使用 vimgrep 进行搜索。这可能吗?怎么做?我在谷歌或 vim 帮助中找不到适合这种情况的东西。

我想要这个的原因是因为我需要快速列表 ( copen) 中的结果,并且:g/FOO在底部显示匹配行并没有做这项工作。

0 投票
0 回答
929 浏览

vim - vimgrep 通配符作为文件扩展名

如何使用vimgrep命令在所有文件中递归搜索当前目录中的模式,无论它们具有什么扩展名。

在控制台中我可以这样做:grep -r <pattern> *.*

在谷歌上进行一些搜索后,我发现在 vim 中我可以在具有特定扩展名的文件中递归搜索模式,如下所示:

:vimgrep /<pattern>/g **/*.extension

在阅读了我在 vim 中:help starstar-wildcard找到的帮助后,help vimgrep我没有找到任何解释,除了**/*来自 starstar-wildcard 帮助的文件扩展名之外,我如何匹配任何文件扩展名。

试过:
:vimgrep /<pattern>/g **/*我得到这个错误:Cannot open file "**/*"

甚至试图像这样转义通配符:
:vimgrep /<pattern>/g **/\*相同的结果Cannot open file "**/*"

我的 vim 版本是:VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan 10 2014 09:33:13)我尝试使用没有任何 .vimrc 配置文件的新用户,结果是一样的。

有没有办法像 grep 一样进行搜索,但在 vim 中使用 :vimgrep?

0 投票
1 回答
16662 浏览

regex - ag Silver Searcher:前瞻/后瞻模式的规则?

ag在 Vim 中使用字符串/文件搜索的结果很好。

但是,似乎没有太多文档是如何为 ag 构建模式的。

在 Practical Vim book 的示例中,我尝试使用 ag 而不是 vimgrep。

我想递归地在目录中的所有文件中找到“Pragmatic Vim”的每一个出现,并用“Practical Vim”替换这个字符串。某些文件中还有“实用书架”,该字符串必须保留。

这本书提出了这种方法:

在这一步之后,使用插件命令填充快速修复列表:Qargs,最后:argdo %s//Practical/g

现在,如何/Pragmatic\ze使用 指定模式ag

完全是ag为我在这里想要做的事情而设计的吗?

0 投票
2 回答
393 浏览

vim - vimgrep 搜索已知字符字符串会产生 E480 错误消息

我正在尝试使用 vimgrep 对当前文件夹中所有文本文件中字符串“proj”的所有出现进行非常简单的搜索。该目录称为“logs”,所有文件都具有相同的命名方案:“log_yyyymmdd.txt”。

我正在:vimgrep /proj/g *.txt以“日志”作为当前目录运行命令

我知道字符串出现在该文件夹中的多个文件中,但错误消息E480: No match: proj继续出现。

帮助表示赞赏。

吉尔夫

0 投票
1 回答
564 浏览

windows - Windows 中的 GVIM vimgrep

我正在尝试在 Windows 上的 GVim 中的所有文件中复制 Notepad++ 查找。我找到了以下 vimgrep 脚本,它似乎在目录中找到了光标下的单词

我将其修改为始终在项目的根目录中搜索。但它不起作用。该项目位于“c:\lion”下

显示以下错误。

0 投票
2 回答
186 浏览

vim - (VIM) vimgrep 是否能够搜索 unicode 字符串

vimgrep 是否能够搜索 unicode 字符串?例如:

a.txt包含宽字符串“hello”, vimgrep hello *.txt什么也没找到,当然它在正确的路径中。

0 投票
3 回答
1250 浏览

regex - VIM - 当前缓冲区中可视选择的 VIMGREP 热键

我将如何设置热键(例如:CTRL+ )以对当前缓冲区中的当前视觉选择g执行操作?VIMGREP我的意图是在所有匹配搜索结果的“快速修复”窗口中显示一个行号列表。

现在,如果我想获得正则表达式搜索的结果列表,我可以像这样执行命令模式查询:

但是,这样做有两个问题:

  1. 我不想输入整个查询。我总是可以进行视觉选择,然后使用CTRL+ rCTRL+w将当前视觉选择粘贴到命令缓冲区中,但我想要比这更简单的东西。
  2. 上述方法要求当前缓冲区已经保存到文件中。我希望能够在我粘贴到 VIM 的临时缓冲区上工作,而不是每次我想这样做时都必须保存文件缓冲区。

谢谢你。