完整路径的 zsh 主题 + 显示 git 更改

zsh theme for full path + display git changes

我正在寻找显示完整路径的主题 + git(分支名称 + 未提交的更改 + 添加的文件)。 没找到。 像这样:

/full/path/to/repo (master *+)

想要一个推荐/关于如何编辑现有一个的提示(我目前正在使用哥斯拉)。

运行 man zshmisc 并搜索 SIMPLE PROMPT ESCAPES 部分。 此文档转义可用于主题提示。

要获取当前工作目录的完整路径,请使用 %d

我假设您正在使用 oh-my-zsh。为了完成你想要的,你可以创建一个修改版本的哥斯拉主题,并将 PROMPT 中的 %c(仅显示当前文件夹)替换为 %d。 17=]

看这里: https://github.com/robbyrussell/oh-my-zsh/blob/c78277fd8bda5fec87504469afdf121355876006/themes/gozilla.zsh-theme#L1

你可以修改这个文件的第二行:

~/.oh-my-zsh/themes/robbyrussell.zsh-theme

看起来像这样:

PROMPT+=' %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'
#                       ^ replace c with ~

然后再次源主题:

source ~/.zshrc

它现在将显示相对于您的主目录 (~) 的路径。例如:

# BEFORE
➜  sqlboiler git:(master)
# AFTER
➜  ~/open-source/sqlboiler git:(master)

除了其他答案,

如果您还想添加username and/or hostname,请在~/.zshrc末尾添加以下三行以覆盖提示:

PROMPT="%{$fg_bold[white]%}%n %{$fg[blue]%}@ %{$fg_bold[yellow]%}%m"

PROMPT+=" %(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"

PROMPT+=' %{$fg[cyan]%}%d%{$reset_color%} $(git_prompt_info)'

解释:

%n是用户名

%m 是主机名

%d是目录(可以替换成%~

注意:usernamehostname之间的Space在上面的示例中是为了清楚起见而添加的,您可以根据需要删除它们。