Starship 如何自定义多行输入的续行提示符 continuation_prompt?
【免费下载链接】starship☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!项目地址: https://gitcode.com/GitHub_Trending/st/starship
在终端里输入一条跨越多行的命令(比如只敲了一个左括号或未闭合的引号)时,shell 会在每一行开头显示一个续行提示符,而不是完整的正常提示符。Starship 允许你通过continuation_prompt配置项自定义这个提示符,改变它的符号和颜色。本文说明如何修改配置、支持哪些 shell,以及如何触发续行提示符来确认修改生效。
适用前提
先确认你的环境满足文档给出的支持范围,否则配置了也不会生效:
- 续行提示符只在以下 shell 中可用(高级配置文档明确列出):
bashzshPowerShell
- Starship 已在当前 shell 中启用,并正常渲染提示符。
配置 continuation_prompt
Starship 的所有配置都写在 TOML 配置文件~/.config/starship.toml中。如果文件还不存在,按 Configuration 文档给出的命令创建:
mkdir -p ~/.config && touch ~/.config/starship.toml然后在该文件中加入一行continuation_prompt配置。Starship 的默认续行提示符是'∙ ',即一个暗黑色的小圆点。下面是一个最小示例,把续行提示符改成两个填充箭头:
# ~/.config/starship.toml # A continuation prompt that displays two filled-in arrows continuation_prompt = '▶▶ '值部分可以带上 Starship 字符串格式化语法文本来指定颜色和字体效果。仓库自带的预设配置中有两个可以直接参考的真实写法:
# 来自 jetpack 预设,带样式 continuation_prompt = "▸▹ "# 来自 plain-text 预设,纯文本符号 continuation_prompt = ". "这两处分别见 jetpack 预设和 plain-text-symbols 预设,可以对照着挑一个符号风格抄进自己的配置。
两条硬性限制
continuation_prompt必须设为不含任何变量的字面量字符串(文档原文:continuation_promptshould be set to a literal string without any variables)。不要在里面写$xxx之类的变量引用。- 只在 bash、zsh、PowerShell 中可用。如果你的 shell 不在这三个之内(例如 fish),这一项不会生效。
另外,如果你不是把配置放在默认位置,可以通过环境变量STARSHIP_CONFIG指定 Starship 读取的其他路径(例如export STARSHIP_CONFIG=~/example/non/default/path/starship.toml,见 Configuration 文档),修改时注意改对文件。
验证是否生效
文档描述的触发方式是:当用户输入了一条不完整的语句(例如单个左括号或引号)时,shell 会在换行处渲染续行提示符代替正常提示符。因此验证步骤是:
- 修改并保存
~/.config/starship.toml后,重新打开终端(或重新加载 shell 配置)。 - 在 shell 中单独输入一个未闭合的字符,例如一个左括号
(或一个引号',然后按回车。 - 观察新出现的行:行首显示的应该就是你配置的续行提示符(如
▶▶或▸▹),而不是默认的暗黑色∙。
如果新行仍然显示∙,先检查两件事:当前 shell 是否在 bash/zsh/PowerShell 支持列表中;配置文件路径是否被STARSHIP_CONFIG改到了别处,导致你编辑的不是 Starship 实际读取的文件。
完成这一步后,多行命令的每行开头就会按你的配置显示续行提示符。
【免费下载链接】starship☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!项目地址: https://gitcode.com/GitHub_Trending/st/starship
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考