InfoQ 22款好用的CLI工具( 二 )


InfoQ 22款好用的CLI工具
文章图片
还有不计其数的其他信息可以展示 。 但是 , 它能以更加友好的形式智能地给你呈现!比如 , 如果你不在git存储库中 , 它将隐藏git信息 。 如果您不在Python项目中 , 则不会有Python版本信息 , 因为显示它没有什么意义 。 它永远不会给你展示多余信息 , 始终保持终端的美观 , 优雅和简约 。
Starship的运行速度怎么样呢?它是用Rust编写的 , 尽管功能如此之多 , 但仍然比我以前使用的所有提示工具都要快!我对提示信息非常洁癖 , 因此我经常破解自己的版本 。 我会根据现有的提示找到对应的功能代码 , 然后将其粘组合在一起 , 以确保Starship只有我需要的功能以保持其快速运行 。 “外部工具永远无法比我精心制作的提示工具更快!”这就是我对Starship持怀疑态度的原因 。
下载地址:https://starship.rs/
3z
“z”可以让你快速地在文件目录之间跳转 。 它会记住你访问的历史文件夹 , 经过短暂的学习后 , 你就可以使用zpath_of_the_folder_name命令在目录之间跳转了 。
InfoQ 22款好用的CLI工具
文章图片
比如 , 如果我经常访问~/work/ src/projects , 我只需要运行zpro , 就可以立马跳转到那里 。 z的原理参考了frecency算法——一个基于统计frequency和recency进行分析的算法 。 如果它存储了你不想使用的路径文件夹 , 你随时可以手动将其删除 。 它提高了我在常用的不同文件路径之间频繁切换的效率 , 帮我节省了键盘击键次数以及大量的路径记忆 。
下载地址:https://github.com/rupa/z
4fzf
fzf—fuzzyfinder , 即模糊查找器 。 它是一种通用工具 , 可让你使用模糊搜索来查找文件、历史命令、进程、git提交等 。 你键入一些字母 , 它会尝试匹配结果列表中任何位置的字母 。 输入的字母越多 , 结果也就越准确 。 你可能在其他的代码编辑器中有过这种类型的搜索使用体验——当你想打开某个文件时 , 只键入文件名的一部分而不用输入完整路径就能进行查找——这就是模糊搜索 。
InfoQ 22款好用的CLI工具
文章图片
我通过fishfzf插件插件使用它 , 因此我可以搜索命令历史记录或快速打开文件 。 这是可以每天为我节省不少时间的一个非常棒的工具 。
https://github.com/jethrokuan/fzf
下载地址:https://github.com/junegunn/fzf
5fd
InfoQ 22款好用的CLI工具
文章图片
上面动图是find命令(左)和fd命令(右)的使用对比 。
类似于系统自带的find命令 , 但使用起来更简单 , 查找速度更快 , 并且具有良好的默认设置 。
不管你想找到一个名为“invoice”的文件 , 但是不确定文件的扩展名 , 还是查找一个存放所有invoice的目录 , 而不单是一个文件 。 你可以撸起袖子 , 开始为find命令编写那些复杂的正则表达式 , 也可以直接命令行运行fdinvoice 。 反正对我来说 , 我只选择最简单的那个 。
默认情况下 , fd会忽略隐藏的以及在.gitignore列出的文件和目录 。 大多数时候 , 这也是我们想要的 , 但是在极少数特殊情况下 , 如果需要禁用此功能时 , 我会给该命令设置一个别名:fda='fd-IH' 。
你会发现 , fd命令输出的颜色配置很漂亮 , 而且根据基准测试(上述GIF) , 它的执行速度甚至比find命令的还要快 。
下载地址:https://github.com/sharkdp/fd
6ripgrep
InfoQ 22款好用的CLI工具
文章图片
上图为grep(左)与rg(右)命令执行时的对比 。
与上述fd指令类似 , ripgrep是grep命令的替代方法 , 不过ripgrep的执行速度更快 , 而且具有健全的默认配置以及丰富的彩色输出 。