使用 pss 提升你的代码搜索能力
创始人
2024-03-01 21:24:48
0

搜索代码库是开发者每天都要做的事情。从修改 bug 到学习新代码,或者查看如何调用某个 API,能快速在代码库中导航的能力都是一大助力。幸运的是,我们有专门的工具来搜索代码。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 进行正则表达式搜索以及它的其他选项的话,可以在这里看到更多的例子。


via: https://fedoramagazine.org/improve-code-searching-skills-pss/

作者:Clément Verna 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

2025 年 AI 期末考...
文|锦缎 美东时间2月4日,谷歌母公司Alphabet公布了20...
2026-02-08 19:48:08
一个人×AI,何以让建筑设...
证券时报记者 卓泳 “给我一栋‘像少女般翩翩起舞’的楼。”胡政涛耗...
2026-02-06 06:46:21
钛动科技发布GEO服务,卡...
全球用户搜索行为正经历前所未有的变革,这种变革也悄然重构了品牌与用...
2026-02-05 14:19:21
开源软件促进全球技术共享
开源软件:构建人类技术未来的数字基石 在浩瀚的数字宇宙中,如果将...
2026-02-04 21:18:22
本地免费AI代码工具:Go...
Jack Dorsey是Twitter(现名X)、Square(现...
2026-02-03 18:19:37
你的AI搜索,可能暗藏商业...
哪种面膜最适合敏感肌,哪个充电宝品牌最靠谱,哪款木质香水最温和……...
2026-02-03 17:20:30

热门资讯

开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...