每次我尝试在ack中添加一个类型似乎都失败了,即在ack中添加一个类型(log
)
ack --type-set log:ext:log
ack: No regular expression found.
或
ack --type-add log:ext:log
ack: No regular expression found.
任何人都有这方面的线索或只是
答案 0 :(得分:5)
如果您想尝试新的类型,请使用如下命令:
ack --type-set proj:ext:csproj --type proj "some search pattern"
这将显示给定类型的搜索结果。
如果您想永久保存该类型,则必须将以下行添加到$HOME/.ackrc
:
--type-set=proj:ext:csproj
有两点需要注意:
.ackrc
文件中的第二行应该有=
(等于)而不是空格。更新(根据安迪莱斯特的回答):
而不是--type your_type_name
,您只需编写快捷方式--your_type_name
。
答案 1 :(得分:3)
这样做:
ack --type-set=log:ext:log --log searchterm
或者如果您尝试忽略日志文件。
ack --type-set=log:ext:log --nolog searchterm
如果这个日志格式是你要引用的东西,那么你需要将这行添加到.ackrc文件中。每次运行ack时都会执行.ackrc中的参数。
有关详细信息,请参阅运行“ack --man”后的“定义自己的类型”。