在Windows 10的GitBash中配置Silver Searcher(ag)使其显示匹配字符串所在文件
在Windows 10的GitBash中配置Silver Searcher(ag)使其显示匹配字符串所在文件
嘿,我之前在GitBash里用ag也碰到过一模一样的问题——明明搜的是目录,结果只蹦出匹配内容,完全看不到文件名。给你几个实用的解决办法:
临时应急:用参数强制显示文件名
如果只是单次需要显示文件名,直接在命令里加--filename参数就行(你的2.2.5版本支持这个参数):
ag --filename 'hello' /tmp
运行后就能看到类似这样的输出:
/tmp/file:hello
另外,如果你直接指定目录下的文件而非目录本身,ag也会自动带出文件名,比如:
ag 'hello' /tmp/*
永久配置:让ag默认显示文件名
要是不想每次都手动加参数,可以给ag做个全局配置:
- 打开GitBash,输入
touch ~/.agrc创建配置文件 - 用编辑器打开这个文件(比如
vim ~/.agrc,或者找到Windows对应路径下的.agrc用记事本编辑) - 在文件里加一行:
--filename
保存后,下次再搜ag 'hello' /tmp,文件名就会自动显示出来了。
额外排查小技巧
有时候ag搜单个文件时默认不会显示文件名,如果你的/tmp目录下刚好只有这一个匹配文件,也会出现这种情况。可以先确认下目录里的文件数量:
ls /tmp
要是确实只有一个文件,用上面的方法就能解决;如果有多个文件还是不显示,那可以试试更新ag到最新的Windows端口版本,或者检查有没有其他冲突的配置参数。
备注:内容来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

