自定义 Powerleve10k 提示符

Customizing Powerleve10k prompt

我刚刚将 Powerlevel10k 主题添加到我的 zsh 中,我正在尝试配置某些部分。

目前看起来是这样的:

~/.p10k.zsh 完成了很多配置,我一直在尝试更改某些内容,但我还没有做到。

我不想在左侧提示中打印整个路径,只打印目录。此外,不确定 git 部分中的这些数字表示什么。正确的提示显示我的 ruby 版本,尽管我已经很久没有使用 Ruby 并且想将其更改为不同的设置。

我尝试将 PS1=... 添加到 .zshrc,但它似乎被 P10K 配置文件覆盖了。

有什么建议吗?

缩短目录段以仅显示最深的目录

要仅显示最后 n 个重要的 路径段,您可以在配置中设置以下 .zshrc,例如 n=1 表示仅显示当前工作目录中的最后一个文件夹:

POWERLEVEL9K_SHORTEN_DIR_LENGTH=1

解释 Git 个符号

question/exclamation mark in Git segment (vcs segment, next to path) 表示文件数 untracked (?) 和 unstaged (!)。详细说明见What do different symbols in Git status mean?

更改版本段

您可以更改版本段(在提示的右侧)以反映另一个工具。例如,用 python version 替换显示的 ruby version 替换 right promt elements 中的元素 在你的配置中 .zshrc:

POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(rbenv)

来自

POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(pyenv)

只显示最后一个目录段

  1. 打开~/.p10k.zsh
  2. 搜索 POWERLEVEL9K_SHORTEN_STRATEGY
  3. 将此参数的值改为truncate_to_last

或者,将 POWERLEVEL9K_DIR_MAX_LENGTH 的值更改为 1。这将最大限度地缩短当前目录,同时保持转换可逆。您可以通过将缩短的目录复制粘贴到命令行并按 TAB.

来恢复原始目录

Ruby版本

Powerlevel10k有几个提示段可以显示Ruby版本。默认情况下,只有那些在被某些工具手动覆盖时显示 Ruby 版本(例如,rbenvasdf)才启用。

要从提示中删除 Ruby 版本:

  1. 打开~/.p10k.zsh
  2. 搜索 POWERLEVEL9K_RIGHT_PROMPT_SEGMENTS
  3. 删除或注释掉以下元素:rbenvrvmasdf

或者(也许最好)找出哪个工具正在为您覆盖 Ruby 版本,如果您不再需要它,请删除覆盖。