本文档提供了Powerlevel10k所有配置参数的综合参考。它涵盖了参数命名约定、常见参数类型以及参数如何影响提示的外观和行为。有关创建自定义段的信息,请参阅自定义指南,有关配置模板的详细信息,请参阅配置模板。
Powerlevel10k使用一套复杂的参数系统来控制提示的方方面面。参数是具有特定命名约定的Zsh变量,这些约定决定了提示段的颜色、图标、间距、内容和显示条件。
来源: internal/p10k.zsh474-508 config/p10k-lean.zsh15-22
Powerlevel10k 参数遵循以下命名约定:
来源: internal/p10k.zsh474-508 config/p10k-lean.zsh114-161
POWERLEVEL9K_ 开头POWERLEVEL9K_DIR_FOREGROUNDPOWERLEVEL9K_VCS_CLEAN_BACKGROUND)FOREGROUND、BACKGROUND、CONTENT_EXPANSION)这些参数影响提示的整体行为和外观。
| 参数 | 描述 | 示例值 |
|---|---|---|
POWERLEVEL9K_MODE | 定义使用的字符集(字体) | nerdfont-complete |
POWERLEVEL9K_ICON_PADDING | 控制图标后的间距 | none 或 moderate |
POWERLEVEL9K_ICON_BEFORE_CONTENT | 控制图标位置 | true、false 或留空表示混合 |
POWERLEVEL9K_PROMPT_ADD_NEWLINE | 在提示前添加空行 | true 或 false |
POWERLEVEL9K_SHOW_RULER | 在提示前显示水平线 | true 或 false |
POWERLEVEL9K_RULER_CHAR | 用于标尺的字符 | ─ |
POWERLEVEL9K_RULER_FOREGROUND | 标尺的颜色 | 240 |
来源: config/p10k-lean.zsh113-162 config/p10k-classic.zsh114-161
这些参数控制提示的布局和结构。
| 参数 | 描述 | 示例值 |
|---|---|---|
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS | 显示在左侧的段 | (dir vcs) |
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS | 显示在右侧的段 | (status command_execution_time) |
POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR | 左侧段之间的分隔符 | \uE0B0 |
POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR | 右侧段之间的分隔符 | \uE0B2 |
POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR | 同色段之间的分隔符 | \uE0B1 |
POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR | 同色段之间的分隔符 | \uE0B3 |
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX | 第一行提示的后缀 | %242F╭─ |
POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX | 中间行提示的后缀 | %242F├─ |
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX | 最后一行提示的后缀 | %242F╰─ |
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX | 第一行提示的后缀 | %242F─╮ |
POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX | 中间行提示的后缀 | %242F─┤ |
POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX | 最后一行提示的后缀 | %242F─╯ |
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR | 用于填充第一行间隙的字符 | ─ |
POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL | 没有左侧段时使用的符号 | %{%} |
POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL | 没有右侧段时使用的符号 | %{%} |
来源: config/p10k-lean.zsh26-111 config/p10k-classic.zsh26-117 config/p10k-classic.zsh136-184
这些参数控制颜色和视觉样式。
| 参数 | 描述 | 示例值 |
|---|---|---|
POWERLEVEL9K_BACKGROUND | 默认背景颜色 | 238 或留空字符串表示透明 |
POWERLEVEL9K_*_FOREGROUND | 段的前景色 | 31 |
POWERLEVEL9K_*_BACKGROUND | 段的背景色 | 4 |
POWERLEVEL9K_*_VISUAL_IDENTIFIER_EXPANSION | 段的自定义图标 | ⭐ |
POWERLEVEL9K_*_CONTENT_EXPANSION | 段的自定义内容 | ${P9K_CONTENT} |
POWERLEVEL9K_*_PREFIX | 显示在段之前的文本 | in |
POWERLEVEL9K_*_SUFFIX | 显示在段之后的文本 | |
POWERLEVEL9K_*_LEFT_WHITESPACE | 段之前的空格 | |
POWERLEVEL9K_*_RIGHT_WHITESPACE | 段之后的空格 | |
来源: internal/p10k.zsh532-554 config/p10k-lean.zsh185-207 config/p10k-rainbow.zsh356-370
颜色可以通过以下几种方式指定:
1 至 255 (ANSI 颜色代码)red、green、blue (在 __p9k_colors 数组中定义)#FF0000 (适用于真彩色终端)来源: internal/p10k.zsh59-110 internal/p10k.zsh532-554
这些参数控制段的显示时间和方式。
| 参数 | 描述 | 示例值 |
|---|---|---|
POWERLEVEL9K_*_DISABLED | 完全禁用该段 | true |
POWERLEVEL9K_*_SHOW_ON_COMMAND | 仅在特定命令后显示该段 | git |
POWERLEVEL9K_*_SHOW_ON_UPGLOB | 在某些文件存在时显示该段 | *.js|package.json |
POWERLEVEL9K_*_THRESHOLD | 仅在满足阈值时显示该段 | 3 (用于 command_execution_time) |
POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN | 在此类目录中不显示 Git 状态 | ~ |
POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY | 不检查大型存储库的 Git 状态 | -1 |
POWERLEVEL9K_VCS_MAX_SYNC_LATENCY_SECONDS | Git 状态的最大等待时间 | 0.05 |
来源: config/p10k-lean.zsh472-486 config/p10k-lean.zsh544-554
| 参数 | 描述 | 示例值 |
|---|---|---|
POWERLEVEL9K_DIR_FOREGROUND | 文本颜色 | 31 |
POWERLEVEL9K_DIR_SHORTENED_FOREGROUND | 缩短部分的颜色 | 103 |
POWERLEVEL9K_DIR_ANCHOR_FOREGROUND | 锚定目录的颜色 | 39 |
POWERLEVEL9K_DIR_ANCHOR_BOLD | 将锚定目录加粗 | true |
POWERLEVEL9K_SHORTEN_STRATEGY | 如何缩短长目录 | truncate_to_unique |
POWERLEVEL9K_SHORTEN_DELIMITER | 指示缩短的字符 | `` |
POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER | 移除到标记之前的字符串 | false |
POWERLEVEL9K_SHORTEN_DIR_LENGTH | 要保留的字符数 | 1 |
POWERLEVEL9K_DIR_MAX_LENGTH | 目录的最大长度 | 80 |
POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS | 为键入留出的最小列数 | 40 |
POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT | 为键入留出的最小列百分比 | 50 |
POWERLEVEL9K_DIR_HYPERLINK | 添加目录超链接 | false |
POWERLEVEL9K_DIR_SHOW_WRITABLE | 显示可写指示符 | v3 |
POWERLEVEL9K_SHORTEN_FOLDER_MARKER | 锚定目录的标记文件 | (\.git|\.hg|package.json) |
来源: config/p10k-lean.zsh208-293 config/p10k-classic.zsh217-289
| 参数 | 描述 | 示例值 |
|---|---|---|
POWERLEVEL9K_VCS_CLEAN_FOREGROUND | 存储库干净时的颜色 | 76 |
POWERLEVEL9K_VCS_MODIFIED_FOREGROUND | 存储库已修改时的颜色 | 178 |
POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND | 存储库包含未跟踪文件时的颜色 | 76 |
POWERLEVEL9K_VCS_BRANCH_ICON | 显示在分支名称前的图标 | \uF126 |
POWERLEVEL9K_VCS_UNTRACKED_ICON | 未跟踪文件的图标 | ? |
POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING | 禁用默认格式化 | true |
POWERLEVEL9K_VCS_CONTENT_EXPANSION | 自定义内容格式化 | 请参阅配置 |
POWERLEVEL9K_VCS_BACKENDS | 支持哪些 VCS 系统 | (git) |
POWERLEVEL9K_VCS_LOADING_BACKGROUND | 加载时的背景 | 8 |
POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY | 跳过大型存储库的状态检查 | -1 |
POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR | VCS 图标的颜色 | 76 |
来源: config/p10k-lean.zsh343-513 config/p10k-rainbow.zsh355-504
| 参数 | 描述 | 示例值 |
|---|---|---|
POWERLEVEL9K_STATUS_EXTENDED_STATES | 启用扩展状态 | true |
POWERLEVEL9K_STATUS_OK | 显示成功状态 | false |
POWERLEVEL9K_STATUS_OK_FOREGROUND | 成功状态的颜色 | 70 |
POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION | 成功图标 | ✔ |
POWERLEVEL9K_STATUS_OK_PIPE | 显示管道成功状态 | true |
POWERLEVEL9K_STATUS_ERROR | 显示错误状态 | false |
POWERLEVEL9K_STATUS_ERROR_FOREGROUND | 错误状态的颜色 | 160 |
POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION | 错误图标 | ✘ |
POWERLEVEL9K_STATUS_ERROR_SIGNAL | 显示错误信号 | true |
POWERLEVEL9K_STATUS_VERBOSE_SIGNAME | 使用详细的信号名称 | false |
POWERLEVEL9K_STATUS_ERROR_PIPE | 显示管道错误状态 | true |
来源: config/p10k-lean.zsh506-540 config/p10k-classic.zsh515-549
| 参数 | 描述 | 示例值 |
|---|---|---|
POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD | 显示的最少秒数 | 3 |
POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION | 小数位数 | 0 |
POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND | 文本颜色 | 101 |
POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT | 时长格式 | d h m s |
来源: config/p10k-lean.zsh542-554 config/p10k-classic.zsh551-563
| 参数 | 描述 | 示例值 |
|---|---|---|
POWERLEVEL9K_PROMPT_CHAR_OK_VIINS_FOREGROUND | 上次命令成功时的颜色 | 76 |
POWERLEVEL9K_PROMPT_CHAR_ERROR_VIINS_FOREGROUND | 上次命令失败时的颜色 | 196 |
POWERLEVEL9K_PROMPT_CHAR_OK_VIINS_CONTENT_EXPANSION | 插入模式下的字符(成功) | ❯ |
POWERLEVEL9K_PROMPT_CHAR_ERROR_VIINS_CONTENT_EXPANSION | 插入模式下的字符(错误) | ❯ |
POWERLEVEL9K_PROMPT_CHAR_OK_VICMD_CONTENT_EXPANSION | 命令模式下的字符(成功) | ❮ |
POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE | 覆盖模式下显示不同字符 | true |
来源: config/p10k-lean.zsh189-206 config/p10k-classic.zsh194-215
对于任何段,您可以按照以下模式定义自定义参数
图标和内容扩展:更改内容的显示方式和图标
POWERLEVEL9K_SEGMENT_VISUAL_IDENTIFIER_EXPANSION - 自定义图标POWERLEVEL9K_SEGMENT_CONTENT_EXPANSION - 自定义内容条件显示:控制段何时出现
POWERLEVEL9K_SEGMENT_SHOW_ON_UPGLOB - 文件存在时显示POWERLEVEL9K_SEGMENT_DISABLED - 完全禁用自定义函数:定义自定义行为
来源: config/p10k-lean.zsh359-463 config/p10k-classic.zsh368-472 config/p10k-rainbow.zsh378-473
Powerlevel10k 使用复杂的参数解析系统来确定某个设置应使用哪个值。
解析顺序是
POWERLEVEL9K_DIR_NOT_WRITABLE_FOREGROUNDPOWERLEVEL9K_DIR_FOREGROUNDPOWERLEVEL9K_FOREGROUND要为现有段实现自定义参数
~/.p10k.zsh 文件中,在加载配置之后来源: config/p10k-lean.zsh359-463 config/p10k-classic.zsh368-472
图标定义在 internal/icons.zsh 中,并可以在您的配置中覆盖。使用的图标集取决于 POWERLEVEL9K_MODE 参数。
| 参数 | 描述 | 示例值 |
|---|---|---|
POWERLEVEL9K_MODE | 要使用的图标集 | nerdfont-complete |
POWERLEVEL9K_ICON_PADDING | 图标后的空格 | none 或 moderate |
POWERLEVEL9K_VCS_BRANCH_ICON | Git 分支图标 | \uF126 |
POWERLEVEL9K_LOCK_ICON | 不可写目录的图标 | ⭐ |
POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION | 自定义操作系统图标 | ⭐ |
Powerlevel10k 支持多种图标模式
nerdfont-complete - Nerd Fontsnerdfont-v3 - Nerd Fonts 版本 3+awesome-patched - Awesome Patched 字体awesome-fontconfig - Awesome Font (带 fontconfig)awesome-mapped-fontconfig - Awesome Font (带映射的 fontconfig)flat - 类似于 awesome-patched来源: internal/icons.zsh3-487 internal/icons.zsh489-681
本文档提供了 Powerlevel10k 参数的全面参考。有关高级自定义,请参阅 config/ 目录中的示例配置,并探索 internal/ 目录中的源代码。
请记住,大多数参数都可以在您的 ~/.p10k.zsh 文件中设置,该文件通常是通过运行 p10k configure 创建的。