Matrix 首页推荐
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。 文章代表作者个人观点,少数派仅对标题和排版略作修改。
我曾经尝试过好多种终端自定义方案,例如我使用 zsh 时,使用 oh-my-zsh 这一集成方案,本身内置了大量主题,但是想对具体主题进行些许适合自己的微调,则并不容易。
我在使用 Bash 时,通过编辑 文件,虽然实现了比较自由的界面设置,但是复杂的代码和难用的 Shell 脚本,想要调整依然不简单。
直到我发现了 Starship。
开箱即用,这是 Starship 最让我惊喜的地方。
官方提供了非常详细的 文档,手把手指导如何配置每一个模块。可配置的模块有好几十个。
还有一点就是,Starship 使用 Rust 编写,对性能的影响很小,在我的低配置 VPS 中也能够快速运行,而不是像其他一些工具,启用之后,每次点击回车出现命令提示符时,都能感受到明显的卡顿。
此外,Starship 非常易于同步。各自安装之后,同一份配置文件可以在不同的操作系统(Windows、Linux、macOS、Android 等)、不同的 Shell(Bash、Zsh、Fish、Powershell 等)中使用,而且展示效果完全一致。非常适合同时使用多个环境、又期望在不同环境中拥有相似体验的人们。
Starship 官方支持了各平台几乎所有常用的包管理器。
如果你使用 Windows,你可以使用 Chocolatey 或者 Scoop:
如果你使用 Linux 或者 macOS,你可以选择 Homebrew 来安装:
要使 Starship 在终端中产生效果,需要在各个终端的配置文件中启用。例如对于 Bash,需要执行:
对于 Powershell,可以使用 VS Code 直接编辑:
并在打开的文件最后,加入一行:
其他操作系统的安装方法、其他 Shell 的配置方法,可以在官网的 安装指导 中进行查询。
为了显示效果完美呈现,可以在使用终端的系统中安装一个 Nerd Font 字体,用来显示一些图标字符。例如在 Windows 中可以执行:
创建一个配置文件 ,就可以在这个文件中自由设置了。
在默认风格的基础上,我们可以随意调整任何细节。例如,我们可以装饰一下提示符(官网示例):
Starship 的配置文件以模块化的方式搭建。
需要修改当前路径的显示方式时,可以使用 Directory 这个组件:
首先确认需要调整的模块名称。仍以前面显示 IP 地址的模块为例,在文档中可以看到四个配置项:
- format
- style
- ssh_only
- disabled
其中 是几乎所有模块都有的一个配置,把它配为 则会显示,配为 则为隐藏。Starship 的默认配置中,指定了一些模块为 而另一些为 ,这可以通过查阅文档的默认值来确定。
也是几乎所有模块都有的一个配置,它用来定义这个模块在命令行中如何显示。例如,前面我们给 IP 模块的 取值是 ,这里 表示变量,会自动替换成相应的内容。所有可以使用的变量,在每个模块的 Variables 中有具体说明。
方括号用来确定一个具体的字符串,和小括号相结合,可以用来指定样式。在前面的例子中,方括号内的 是具体显示的内容(当然这里 会实际显示成真实的 IP 地址,例如 ),而 并不会显示出来,而是用来把前面的 部分的样式调整为粗体红色。
也是大部分模块都会有的一个配置,可以调整默认的样式。
余下的就是模块自己独有的一些设置了,例如这里的 可以选择是否只是在 ssh 连接时显示 IP 地址。
除了基于 Starship 默认的配置进行调整,官方还收录了一些社区分享的配置。
这些预设的配置文件中,包括了:
- 使用图标文字的样式
- 使用方括号的样式
- 使用纯文本的样式
以及其他一些预设配置。我们也可以在这些配置的基础上,进行自定义的设置。
设计完自己所需的配置之后,我们只需要把配置文件 复制到另一个设备上,就可以立刻获得几乎完全相同的终端风格了。
- 给你的终端加点料 —— 7 个让终端更好用的小工具
- 一日一技 | 如何让你的终端欢迎语好看又有趣
- 新生代 Windows 终端:Windows Terminal 的全面自定义