Vim 带括号和分号的Grep/Ack表达式
我用的是vim Ag.vim。我想在我的项目中搜索Vim 带括号和分号的Grep/Ack表达式,vim,grep,ag,Vim,Grep,Ag,我用的是vim Ag.vim。我想在我的项目中搜索let(:application) 如果我做了:Ag“let(:application)app/我会得到 || ERR: Bad regex! pcre_compile() failed at position 16: missing ) || If you meant to search for a literal string, run ag with -Q 使用Ag-Q“let(:application”app/ 你知道正确的模式吗?你可
let(:application
)
如果我做了:Ag“let(:application)app/
我会得到
|| ERR: Bad regex! pcre_compile() failed at position 16: missing )
|| If you meant to search for a literal string, run ag with -Q
使用Ag-Q“let(:application”app/
你知道正确的模式吗?你可以跳过
(
):
或者对固定字符串使用grep
和-F
:
grep -F "let(:application" app/
我猜你被维姆的魔法模式和ag的模式弄糊涂了:
传递给
ag
的正则表达式模式参数不遵循vim的magic
设置。默认情况下,ag应用PCRE
,因此您必须转义(
以让ag
知道您想要匹配文本(
。或者你给-Q
选项来实现同样的目标。:Ag'let\(...dir/
应该可以工作。:Ag-Q“…”
在这里也可以工作。为什么不使用grep
和参数-F
(按照固定字符串,而不是Regex)?-->grep-F“let(:application)”
@fedorqui yep它与grep一起工作。ThanksThanks@Kent``似乎起到了作用。发布了一个[wiki]答案,以便明确是什么解决了你的问题。
grep -F "let(:application" app/