问题标签 [ack]

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 投票
4 回答
10643 浏览

vim - 如何转义 Vim 命令中的 % 和 # 字符?

我正在使用带有标志的 Ack ( https://github.com/mileszs/ack.vim )--literal来搜索 Vim 中的项目。我注意到,每当我搜索带有%or#字符的字符串时,搜索结果与我期望的不匹配。我做了一些研究,发现这是因为 Vim 会在命令中扩展这些字符(%是当前文件还是其他文件#,不确定是什么)。

考虑到这些符号在代码中经常出现,这在执行搜索时是非常烦人的行为。有没有办法逃避它们,最好是自动的,以便搜索按预期工作?我当前的映射是:nnoremap <leader>al :Ack --literal<space>.

例子

假设我#body在某处的 CSS 文件中有一个选择器,我想找到它。这些是我尝试过的东西(没有奏效):

任何想法为什么转义在这里不能像往常一样工作,或者这甚至在寻找什么?我没有让这些例子匹配任何东西

解决方案

我已经通过双重转义字符来实现它。例如,:Ack --literal "\\#body"将显示:ack -H --nocolor --nogroup --column --literal "#body"在结果窗口的状态行中并调出预期的结果。引号似乎也是必需的。

0 投票
2 回答
1964 浏览

ack - 获取 ack 以排除类型为“.min.js”的文件

我即时缩小 javascript 文件并在现有文件旁边生成一个 .min.js 文件。这是一个问题,但在使用 ack 时,它会将这些文件视为 .js 文件并搜索它们,并使用缩小的 javascript 在我的结果屏幕上乱扔垃圾。

我尝试将其添加到我的 .ackrc 中,但没有成功:

有没有办法让 ack 忽略这种类型的扩展?

PS 我没有简单地将 .min.js 重命名为 .min_js 或任何其他变体的选项。

0 投票
4 回答
3648 浏览

mysql - 什么通常更快,通过文件搜索或通过 blob 运行 SQL LIKE %x% 查询?

假设我正在设计一个将代码片段保存在 PostgreSQL/MySQL 数据库或文件系统中的工具。我想搜索这些片段。使用像 Sphinx 这样的搜索引擎似乎并不实用,因为我们在搜索代码时需要代码的精确文本匹配。

grep并且ack一直工作得很好,但是将内容存储在数据库中会使大量内容在某些方面更易于管理。我想知道在grep目录树上递归运行的相对性能与在具有 TEXT blob 的同等数量的记录上运行 SQL 的 LIKE 或 MySQL 的 REGEXP 函数之类的查询相比。

0 投票
1 回答
3725 浏览

regex - ack-grep 的多种模式?

是否有可能(以及如何)使用 ack(在某些 Linux 发行版上为 ack-grep)链接模式,就像我习惯使用 grep 一样?

例如

...匹配所有带有“foo”但没有“bar”的行。

0 投票
3 回答
5558 浏览

vim - 如何从 vim 中的项目中排除文件和目录(使用 janus)?

我正在从 Textmate 迁移到 vim(使用 janus),并希望特别从 Ack 中排除一些目录,以及 NERDTree。

我想这样做的原因是 Ack 对我的一个大型项目是无用的(需要几分钟才能运行,并且不会产生任何结果),该项目包含一个充满编组数据库数据的目录(包含许多子目录和数十万个文件)。

我知道如何从 NERDTree 中排除文件(而不是目录),以及从 CommandT 中排除模式。这些都不能解决我的 Ack 问题。

我是一个完整的 vim n00b。谢谢阅读。

0 投票
1 回答
12675 浏览

regex - Ack with regex - 与简单查询混淆

我正在尝试将ack-is-better-than-grep (ack) 与正则表达式一起使用来在我的代码存储库中查找行和片段。我的理解是 ack 使用Perl 衍生正则表达式,对吗?

但是,我不确定这些查询将如何工作:

他们能给出不同的输出吗?如果是这样,为什么?

编辑:在我的测试中,它们输出不同的结果(例如,第一个输出的匹配比其他的多)。它们还突出显示同一行的不同部分。

编辑2:输出的差异显然与突出显示(输出的颜色)有关。我注意到,如果我使用上述命令的输出运行ack--nocolor则它们是相同的。显然ack使用默认颜色运行会使部分输出在我的机器/配置中不可见。我在 Ubuntu 11.04 的 bash 的 GNOME 终端上运行它。

0 投票
3 回答
667 浏览

windows - 如何在 Windows 的 powershell 中使用 ack 在文件中搜索“<”?

我不知道如何转义“<”字符,并且对“系统找不到指定的文件”错误感到困惑。任何人都可以帮忙吗?

我在 Windows XP 的 powershell 中使用 ack。

问题ack-grep: chars escaping与我的非常相似,但是为该问题提供和接受的解决方案对我不起作用。

0 投票
0 回答
245 浏览

git - Ack 与 git hook 脚本中的模式不匹配

我编写了一个 git pre-commit 钩子,目的是禁止包含本地文件路径的提交。通常 git 用户在提交和推送之前忘记用与服务器相关的路径替换本地路径,每次发生这种情况都会浪费很多时间。

当使用指定文件在 CLI 上调用 ack 时,我的正则表达式工作正常,但在我的钩子脚本中调用它时拒绝匹配文本。我认为也许回声是罪魁祸首,或者问题与换行符/换行符有关。

我的脚本:

这应该防止在添加了新路径的地方提交,就像这样,在 git diff 中显示,如下所示:

但应接受注释掉的路径,例如:

为什么我的脚本没有正确检测到未注释的本地路径?

0 投票
1 回答
201 浏览

objective-c - 如何使 ack 包含 .pbxproj 文件?

在 Xcode 项目中搜索时如何制作ack包含文件?project.pbxproj

0 投票
1 回答
180 浏览

search - 在 Vim 中使用 ack 搜索时显示搜索状态

在vim中使用ack搜索时,有没有办法显示搜索状态?也许百分比?