【发布时间】:2015-03-09 05:16:39
【问题描述】:
我正在寻找显示完整路径 + git 的主题(分支名称 + 未提交的更改 + 添加的文件)。 没找到。 像这样:
/full/path/to/repo (master *+)
很想推荐一个/如何编辑现有的一个提示(我目前正在使用哥斯拉)。
【问题讨论】:
-
Zsh 本身没有主题。也许你的意思是
oh-my-zsh?正确标记问题将有助于让合适的人查看您的问题。
我正在寻找显示完整路径 + git 的主题(分支名称 + 未提交的更改 + 添加的文件)。 没找到。 像这样:
/full/path/to/repo (master *+)
很想推荐一个/如何编辑现有的一个提示(我目前正在使用哥斯拉)。
【问题讨论】:
oh-my-zsh?正确标记问题将有助于让合适的人查看您的问题。
运行man zshmisc 并搜索SIMPLE PROMPT ESCAPES 部分。
此文档转义可用于为您的提示设置主题。
要获取当前工作目录的完整路径,请使用%d。
我假设您使用的是 oh-my-zsh。为了完成你想要的,你可以创建一个哥斯拉主题的修改版本,并将PROMPT中的%d替换为%c(它只显示当前文件夹)。
【讨论】:
%~(而不是%d)来显示~/Desktop/path/而不是/Users/myuser/Desktop/path/。 zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html
你可以修改这个文件的第二行:
~/.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很满意
除了其他答案,
如果您还想添加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是目录(可以替换成%~)
注意:为了清楚起见,上面示例中添加了username 和hostname 之间的空格,您可以根据需要将其删除。
【讨论】: