块
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
让我们深入了解块的具体定义。
- json
- yaml
- toml
{
"blocks": [
{
"type": "prompt",
"alignment": "left",
"segments": []
}
]
}
blocks:
- type: prompt
alignment: left
segments: []
[[blocks]]
type = "prompt"
alignment = "left"
segments = []
设置项
| Name | Type |
|---|---|
type | string |
newline | boolean |
alignment | string |
filler | string |
overflow | string |
leading_diamond | string |
trailing_diamond | string |
segments | array |
force | boolean |
index | int |
类型
指定引擎如何处理该块。有两个选项:
-
prompt:渲染一个或多个片段 -
rprompt:在光标右侧渲染一个或多个片段。仅允许存在一个rprompt块。 支持 bash(配合 ble.sh)、zsh、PowerShell、cmd、nu 和 fish。
新行
在新行开始块渲染 - 默认为 false。对于 pwsh 和 cmd,当提示符位于首行(使用 clear 时)或 shell 会话启动时(首个提示符),
该设置不会在首个块添加换行。若要在 bash 和 zsh 中启用相同行为,请设置 enable_cursor_positioning 为 true。
这可能导致在提示符加载期间或当前命令执行时,吞掉你输入的命令。这是 shell 本身的限制,与 Oh My Posh 无关。
对齐方式
-
left -
right
指定块采用左对齐还是右对齐。
填充符
当需要连接左右对齐的块时,将重复的字符添加到此属性。此属性应设置在_右_对齐块上。 支持使用颜色覆盖。
- json
- yaml
- toml
{
"blocks": [
{
"alignment": "right",
"filler": "."
}
]
}
blocks:
- alignment: right
filler: .
[[blocks]]
alignment = "right"
filler = "."
填充符允许通过模板自定义填充文本。该模板行为与片段模板相同,但可用属性较少。
| Name | Type | Description |
|---|---|---|
.Overflow | text | if no overflow was needed, this is empty. Otherwise hide or break |
.Padding | int | the computed length of the padding between left and right blocks |
这非常实用:当无溢出时使用填充文本,而当右块因溢出被隐藏或换行显示时使用空格。
- json
- yaml
- toml
{
"blocks": [
{
"alignment": "right",
"overflow": "hide",
"filler": "{{ if .Overflow }} {{ else }}-{{ end }}"
}
]
}
blocks:
- alignment: right
overflow: hide
filler: "{{ if .Overflow }} {{ else }}-{{ end }}"
[[blocks]]
alignment = "right"
overflow = "hide"
filler = "{{ if .Overflow }} {{ else }}-{{ end }}"
溢出处理
-
break -
hide
当右对齐块过长即将覆盖左对齐块时,引擎会根据设置将其断开或隐藏。默认行为是在同一行原样输出。
前导菱形符
为第一个片段设置固定前导菱形符。无论启用哪个片段,该字符始终作为块起始标志。
尾部菱形符
为最后一个片段设置固定尾部菱形符。无论启用哪个片段,该字符始终作为块结束标志。
片段
包含一个或多个片段的数组。
强制渲染
设为 true 时,即使所有片段为空也会渲染该块。默认为 false。
索引
块在配置中的位置序号。用于在基础配置中覆盖特定块。
采用 1 起始索引,因此首个块索引为 1。