搜索代码库是开发者每天都要做的事情. 从修改 bug 到学习新代码, 或者查看如何调用某个 API, 能快速在代码库中导航的能力都是一大助力. 幸运的是, 我们有专门的工具来搜索代码. https://github.com/eliben/pss 就是其中一个工具, 让我们来看看如何安装和使用它吧.
什么是 pss?
pss 是一个帮你在源代码文件中进行搜索的命令行工具. pss 递归地在目录树中进行搜索, 它能自动根据文件名和后缀判断哪些文件需要搜索, 哪些文件不需搜索, 并且会自动跳过那些你不会想搜索的目录 (比如 .svn 和 .git), 还能用色彩渲染输出以方便人们阅读, 以及其他很多功能.
安装 pss
使用下面命令在 Fedora 上安装 pss:
$ dnf install pss
安装好后就能在终端调用 pss 了:
$ pss
不带参数调用 pss 或者带上 -h 标志会输出详细的使用说明.
使用案例
现在你安装好 pss 了, 下面来看一些例子吧.
$ pss foo
该命令只是简单的搜索 foo. 你也可以限制 pss 让它只在 python 文件中搜索 foo:
$ pss foo --py
还能在非 python 文件中搜索 bar:
$ pss bar --nopy
而且, pss 支持大多数常见的源代码文件类型, 要获取完整的支持列表, 执行:
$ pss --help-types
你还能指定忽略某些目录不进行搜索. 默认情况下, pss 会忽略类似 .git,__pycache__,.metadata 等目录.
$ pss foo --py --ignore-dir=dist
此外, pss 还能显示搜索结果的上下文.
$ pss -A 5 foo
会显示匹配结果的后面 5 行内容.
$ pss -B 5 foo
会显示匹配结果的前面 5 行内容.
$ pss -C 5 foo
会显示匹配结果的前后各 5 行内容.
如果你想知道如何使用 pss 进行正则表达式搜索以及它的其他选项的话, 可以在这里 https://github.com/eliben/pss/wiki/Usage-samples 看到更多的例子.
来源: https://juejin.im/entry/5b02a8d6f265da0b8455bc04