根据文档,它应该是
--ignore PATTERN
Run Code Online (Sandbox Code Playgroud)
我有一个包含标签的文件,名为"tags".我尝试了以下内容,每个人仍在搜索标记文件.
ag -Qt --ignore ".*tags" "asdf"
ag -Qt --ignore .*tags "asdf"
ag -Qt --ignore "tags" "asdf"
ag -Qt --ignore tags "asdf"
ag -Qt --ignore *tags
Run Code Online (Sandbox Code Playgroud)
并且它们都不起作用.
如果我使用这里建议的内容,则ag根本不接受它
我尝试通过将其重命名为temp.tags并使用*.tags
模式尝试忽略它来解决它,但它仍然无效.
有任何想法吗?
使用银色搜索器如何忽略多个目录?
我试过ag foo --ignore-dir dir1,dir2
但它不起作用.
我正在使用Silver Searcher在我的Calibre库中查找信息,默认情况下使用冗长的目录和文件名.搜索示例:
chris@ODYSSEUS:~/db/ebooks/paper-art$ ag --markdown angel
Christophe Boudias (Editor)/Origami Bogota 2014 (Paginas de Origami) (2)/Origami Bogota 2014 (Paginas de Origami) - Christophe Boudias (Editor).md
8:* [16] Angel (???)
9:* [22] Christmas Angel (Uniya Filonova)
Juan Fernando Aguilera (Editor)/Origami Bogota 2013 (Paginas de Origami) (1)/Origami Bogota 2013 (Paginas de Origami) - Juan Fernando Aguilera (Editor).md
29:* [96] Inspired Origami Angel (K. Dianne Stephens)
31:* [100] Angel for Eric Joisel (Kay Kraschewski)
Run Code Online (Sandbox Code Playgroud)
我想只返回示例中显示整个路径的文件名.我怎样才能做到这一点?
我试图在大型项目中找到给定字符串的匹配数.目前,要ag
使用以下命令执行此操作:
$ echo 0$(ag -c searchterm | sed -e "s/^.*:/+/") | bc
Run Code Online (Sandbox Code Playgroud)
这显然有点冗长而且不太直观.有没有更好的方法来获取目录中的匹配总数ag
?我已经挖掘了文档,但在那里找不到任何有用的东西.
编辑:多亏了最近提交到ag
,文件名可以被剥离ag
,而不是sed
,所以这也可以工作:
$ echo `ag test -c --nofilename | sed "s/$/+/"`0 | bc
Run Code Online (Sandbox Code Playgroud)
注意:我意识到我可以做到这一点ack -hcl searchterm
(嗯,几乎.在我的具体情况下我也需要一个--ignore-dir building
在那里),但由于这已经是一个大型项目(并将大幅增长),提供的速度提升ag
使它更好(ack
我的搜索需要大约3秒钟,而且ag
几乎是瞬间的结果),所以我想坚持下去.
我正在使用ag来搜索git repo.它在我的node_modules
子目录下找不到匹配项.为什么不,我该如何控制这种行为?
现在我正在使用:
ag sessions --color|cut -b1-130
Run Code Online (Sandbox Code Playgroud)
但是如果搜索匹配被cut
命令切断,这将导致颜色伪影.
Silversearcher在文档中有这个:
--print-long-lines
Print matches on very long lines (> 2k characters by default).
Run Code Online (Sandbox Code Playgroud)
我可以将2k更改为其他内容吗?(120对我来说,因为老实说从来没有在任何代码中我使用真正的代码比这更长).
我想patterns
在一个directory
包含recursive directories
和中搜索多个files
.
我知道命令grep
如下
grep -e '(pattern1)|(pattern2)'
Run Code Online (Sandbox Code Playgroud)
要么
grep -r -E 'string1|string2|string3' /var/www/http
Run Code Online (Sandbox Code Playgroud)
使用ack
or 的命令是什么ag
?
我用ag
用ctrlp
,如建议在这里:
if executable('ag')
set grepprg=ag\ --nogroup\ --nocolor
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
let g:ctrlp_use_caching = 0
else
let g:ctrlp_custom_ignore = '\.git$\|\.hg$\|\.svn$'
let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files . --cached --exclude-standard --others']
endif
Run Code Online (Sandbox Code Playgroud)
如果我从包含文件夹的项目文件夹中运行vim,这非常有用.git
.但是,每当我从一个不是git项目根目录的目录运行Vim时,我得到一个空文件列表(没有结果).为了澄清,使用以下文件夹层次结构:
Proj1/ # ctrlp works; finds foo.js and bar.js (unless they are .gitignored)
.git/
bin/
foo.js
bar.js
Proj2/ # ctrlp doesn't work; has empty file list
bin/
foo.py
bar.py
Run Code Online (Sandbox Code Playgroud)
当我从同一目录中的命令行运行它时,实际的ag
命令ag …
我正在Application(service)
使用ag在我的文件中搜索。由于 ag 将字符串视为正则表达式模式,因此我必须转义括号并使用:
ag 'Application\(service\)'
Run Code Online (Sandbox Code Playgroud)
这既麻烦又容易遗漏,尤其是当我的搜索中有多个正则表达式符号时。
如何指示 ag 将搜索词视为文字字符串,而不是正则表达式模式?
是否silver_searcher支持指定多个搜索表达式像-e
在grep
?
我在文档/帮助中找不到任何选项。