SBP - 简单Bash提示符
简单Bash提示符(SBP)是一个曾经简单的bash提示符。 这最初是对powerline-shell的纯粹模仿,powerline-shell很棒,但是用Python编写。 SBP完全用bash编写,这使它既快速又有趣。
我尽量使代码易读且可扩展。 如果有什么看起来不对、缺少或不好的地方,欢迎吐槽、评论并创建拉取请求。
要查看这个魔法的实时演示,请点击这里
硬性要求
- Bash 4.3+
软性要求
如果你想要那些花哨的尖角段分隔符,你需要powerline字体被_安装_并_启用_。两者都要。 你可以在这里获取它们,那里也有安装说明。 现在是难记的部分。更改你的终端模拟器的设置。 "设置"然后"字体"可能是正确的地方。 如果你不喜欢powerline,那就使用'plain'或'lines'主题,或者创建你自己的主题。 如果你使用Kitty作为终端,那么一切应该开箱即用。
开发者要求
对于本地开发,需要pre-commit、 shellcheck、 bats和 shfmt。
安装
使用git和安装脚本
当你克隆这个仓库时,有一个安装脚本位于´bin/install´。
它会在$HOME/.bashrc
中添加两行:
SBP_PATH=/the/path/to/sbp
source ${SBP_PATH}/sbp.bash
你也可以手动将这两行添加到你选择的某个bash配置文件中。请记住,这种方法默认会使用master分支,所以稳定性可能较低。
使用
你已经准备就绪了。现在你什么都不用做。只管使用它。但是如果你想,你可以稍微改变一下。
通过运行sbp edit config
编辑你的配置,如果你做了重大更改,运行sbp reload
。大多数更改会立即生效。
你可以使用sbp
命令做很多事情:
用法:sbp [命令]
命令:
reload - 重新加载SBP和用户设置
status - 显示当前配置
help - 显示此帮助文本
list
config - 列出所有当前设置
segments - 列出所有可用段
hooks - 列出所有可用钩子
themes - 列出所有可用颜色主题和布局
edit
config - 在$EDITOR中打开sbp配置
colors - 在$EDITOR中打开颜色配置
set
color - 为当前会话设置[颜色]
layout - 为当前会话设置[布局]
toggle
peekaboo - 切换[段]或[钩子]的执行
debug - 切换调试模式
sbp
功能
段
段可以根据你的心情或环境进行配置、移动和隐藏。在Segments文件夹中阅读更多关于它们的信息以及如何创建你自己的段。
钩子
钩子让你可以异步执行脚本来提醒你或以某种方式准备数据。你想做什么都行。在Hooks文件夹中阅读更多关于它们的信息以及如何创建你自己的钩子。
颜色和布局
颜色和布局让你决定如何绘制提示符。在Colors和Layouts中阅读更多关于它们的信息以及如何创建你自己的。SBP支持通过RGB值使用真彩色和通过使用ansi代码的256色。许多人可能只想依赖Xresources中设置的配置,使用xresources颜色设置。
Beta - VI模式
设置
VI模式支持已被移除,因为无法在多行提示符上可预测地放置VI模式指示器。如果你找到了实现这一点的方法,非常欢迎PR。settings_prompt_ready_vi_mode=1
将使用配置的颜色的prompt_ready
图标,并根据当前VI模式(如果启用)改变其颜色。如果你的终端支持,光标也会从闪烁变为实心块。
常见问题
这真的只是bash吗?
是的,但实际上不是。在撰写本文时,主要实现只有几个对date的调用,而一些段涉及grep和sed,但这些正在被移除。不过,有时我们需要与其他CLI应用程序交互,比如git。
我的提示符没有显示任何颜色,怎么回事?
你正在使用不支持真彩色的终端,可能是OSX的Terminal.app? 你可以编写自己的ansi主题,或使用两个提供的主题之一,default-256或xresources。
我不想安装任何花哨的字体,我还能拥有好东西吗?
当然可以!只需使用'plain'布局。不需要任何字体。或者使用Kitty终端,它会为你绘制大多数缺失的字符。
git段太慢了
如果你正在处理一个大型仓库,你可以通过以下命令加速git:
$ git config core.fsmonitor true
$ git config core.untrackedcache true