【问题标题】:zsh theme for full path + display git changes完整路径的 zsh 主题 + 显示 git 更改
【发布时间】:2015-03-09 05:16:39
【问题描述】:

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

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

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

【问题讨论】:

  • Zsh 本身没有主题。也许你的意思是oh-my-zsh?正确标记问题将有助于让合适的人查看您的问题。

标签: git zsh zshrc oh-my-zsh


【解决方案1】:

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

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

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

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

【讨论】:

【解决方案2】:

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

~/.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)

【讨论】:

  • 我建议不要更改默认主题文件,而是在自定义之前将PROMT= 行复制到~/.zshrc 的末尾
  • 好点,我对cp ~/.oh-my-zsh/themes/robbyrussell.zsh-theme ~/.oh-my-zsh/themes/robbyrussell.zsh-theme.orig很满意
【解决方案3】:

除了其他答案,

如果您还想添加username 和/或hostname,请在~/.zshrc 末尾添加以下三行以覆盖PROMPT:

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 之间的空格,您可以根据需要将其删除。

【讨论】:

    猜你喜欢
    • 2021-06-16
    • 2019-09-23
    • 2012-05-14
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 2012-08-24
    相关资源
    最近更新 更多