web开发技术,vue.js前端开发实战⿊马程序员
作者根据多年的终端使⽤经验,详细介绍了⼀些实⽤的 CLI ⼯具,希望它们能帮读者提⾼⽣产⼒。
我⼤部分的时间都花费在终端的使⽤上,我觉得有必要给⼤家推荐⼀下⽐较好⽤的终端⼯具。先给⼤家列个推荐清单,如下图。
⾼频 CLI ⼯具推荐
1、fish shell
Shell- ⽏庸置疑,在终端中,Shell 是使⽤最频繁也最重要的⼯具。过去,我曾经使⽤过 Bash 和 Z Shell,⽽如今,我正在使⽤的是 Fish Shell。这是⼀个⾮常优秀的终端 Shell ⼯具,拥有许多开箱即⽤的功能,例如语法⾃动推荐补全、语法⾼亮显⽰或使⽤快捷键在最近访问的⽂件夹之间来回切换。
⼀⽅⾯,它⾮常适合初学者使⽤,因为使⽤者⽆需进⾏任何设置。另⼀⽅⾯,由于它使⽤的脚本语法与其他 Shell 有所差异,因此通常⽤户不能把拷贝⾃⽹上的脚本直接粘贴使⽤。你必须将不兼容的命令更改为合法的 Fish 脚本,或者启动⼀个 Bash 会话以运⾏ Bash 脚本。
我能理解这种更改背后的原因(毕竟 Bash 脚本不是易于⽤户使⽤的语⾔),但这种不兼容丝毫没有给我带来任何好处。我平时很少编写Bash / Fish 脚本,所以经常遗忘这些语法,因此每次要使⽤这些脚本时我总是必须从头开始重新学习它。与 Bash 脚本相⽐,Fish 脚本的资源相对更少。我通常不会去阅读⽂档,重复造轮⼦,⽽是从 StackOverflow 复制粘贴现成的脚本拿来即⽤。
虽然前⾯我提到了 Fish Shell 的⼏个缺点,但是我还是会推荐你去⽤⼀下,因为切换 Shell ⼯具⼗分简单,所以很值得你去尝试⼀下。特别是当你懒得⾃⼰去配置 Shell,并希望通过最少的配置就能获得很好的使⽤效果的时候,那就更不要错过它了。
Fish插件
你可以⾃⼰添加相关插件来扩展 Fish Shell 的功能。最简单的安装插件的⽅法就是使⽤插件管理⼯具,⽐如 Fisher、Oh My Fish 或者fundle。现在,我使⽤的插件管理⼯具是 Fisher,我⽤它安装管理了三个插件:
1. franciscolourenco/done ——在长时间运⾏的脚本完成后发送通知。
2. evanlucas/fish-kubectl-completions——1个⾃动补全 kubectl(Kubernetes command line tool) 命令的插件。
3. fzf——将 fzf ⼯具与 Fish 集成在⼀起的插件。
过去,我有使⽤很多的插件(⽐如 rbenv、pyenv、nodenv、fzf、z),但是我改⽤其他⼯具以避免影响我的 Shell 的运⾏速度(这是我过去使⽤ Z shell 所得到的⼀个教训)。
2、Starship
如果必须要从本篇⽂章中选择⼀个我最喜欢的终端⼯具——那⾮ Starship 莫属。Starship 可以适⽤于任何 Shell。你只需要安装它,然后在相应的配置⽂件.bashrc/.zshrc/config.fish添加⼀⾏配置,剩下的⼯作交给它来完成就好了。
它可以做到:
根据你是否在代码仓库中添加了新⽂件、是否修改了⽂件、是否暂存了⽂件等情况,⽤相应的符号表
⽰ git 仓库的状态。
js脚本开发根据你所在的 Python 项⽬⽬录,展⽰ Python 的版本号,这也适⽤于 Go/Node/Rust/Elm 等其他编程语⾔环境。
展⽰上⼀个命令执⾏所⽤的时间,指令运⾏时间必须在毫秒级别。
如果上⼀个命令执⾏失败,会展⽰相应的错误提⽰符。
还有不计其数的其他信息可以展⽰。但是,它能以更加友好的形式智能地给你呈现!⽐如,如果你不在 git 存储库中,它将隐藏 git 信息。如果您不在 Python 项⽬中,则不会有 Python 版本信息,因为显⽰它没有什么意义。它永远不会给你展⽰多余信息,始终保持终端的美观,优雅和简约。
Starship 的运⾏速度怎么样呢?它是⽤ Rust 编写的,尽管功能如此之多,但仍然⽐我以前使⽤的所有提⽰⼯具都要快!我对提⽰信息⾮常洁癖,因此我经常破解⾃⼰的版本。我会根据现有的提⽰到对应的功能代码,然后将其粘组合在⼀起,以确保 Starship 只有我需要的功能以保持其快速运⾏。“外部⼯具永远⽆法⽐我精⼼制作的提⽰⼯具更快!” 这就是我对 Starship 持怀疑态度的原因。
3、z
“z”可以让你快速地在⽂件⽬录之间跳转。它会记住你访问的历史⽂件夹,经过短暂的学习后,你就可以使⽤z path_of_the_folder_name命令在⽬录之间跳转了。
⽐如,如果我经常访问 ~/work/src/projects,我只需要运⾏ z pro ,就可以⽴马跳转到那⾥。z 的原理参考了 frecency 算法——⼀个基于统计 frequency 和 recency 进⾏分析的算法。如果它存储了你不想
使⽤的路径⽂件夹,你随时可以⼿动将其删除。它提⾼了我在常⽤的不同⽂件路径之间频繁切换的效率,帮我节省了键盘击键次数以及⼤量的路径记忆。
4、fzf
fzf— fuzzy finder,即模糊查器。它是⼀种通⽤⼯具,可让你使⽤模糊搜索来查⽂件、历史命令、进程、git 提交等。你键⼊⼀些字母,它会尝试匹配结果列表中任何位置的字母。输⼊的字母越多,结果也就越准确。你可能在其他的代码编辑器中有过这种类型的搜索使⽤体验——当你想打开某个⽂件时,只键⼊⽂件名的⼀部分⽽不⽤输⼊完整路径就能进⾏查——这就是模糊搜索。
我通过 fish fzf 插件插件使⽤它,因此我可以搜索命令历史记录或快速打开⽂件。这是可以每天为我节省不少时间的⼀个⾮常棒的⼯具。
5、fd

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。