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

Oha*_*rry 13 git zsh zshrc oh-my-zsh

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

/full/path/to/repo (master *+)
Run Code Online (Sandbox Code Playgroud)

我会喜欢推荐一个/如何编辑现有的建议(我目前正在使用哥斯拉).

Jim*_*hen 36

花点时间弄清楚如何让 oh-my-zsh 工作:

只需修改这个文件的第二行:

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

替换%c%~,然后再次源主题:

source ~/.zshrc

它将立即生效。

  • `%d` 对我有用,但 `%~` 没有 (10认同)
  • 如果您的主题不是“robbyrussell”,您将需要编辑不同的主题文件。您可以在“ZSH_THEME”变量下的“~/.zshrc”文件中找到当前活动主题 (3认同)
  • 我建议在自定义之前将“PROMT=”行复制到“~/.zshrc”的末尾,而不是更改默认主题文件 (2认同)
  • 好点,我对`cp ~/.oh-my-zsh/themes/robbyrussell.zsh-theme ~/.oh-my-zsh/themes/robbyrussell.zsh-theme.orig`很满意 (2认同)

maa*_*cls 33

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

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

我假设你正在使用oh-my-zsh.为了完成你想要什么,你可以创建哥斯拉主题的修改版本,并替换%c用(这只是显示当前文件夹)%dPROMPT.

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

  • 您可以使用`%〜`(而不是'%d`)来显示`〜/ Desktop/path /`而不是`/ Users/myuser/Desktop/path /`.http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html (15认同)
  • 谢谢你,学到了很多东西.有效.简单而优雅 (2认同)
  • 当使用%d代替%c时,是否有办法使“ / Users / myuser / Desktop”变为“〜/ Desktop”?谢谢! (2认同)

ikh*_*vjs 17

除了其他答案之外,

\n

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

\n
PROMPT="%{$fg_bold[white]%}%n %{$fg[blue]%}@ %{$fg_bold[yellow]%}%m"\n\nPROMPT+=" %(?:%{$fg_bold[green]%}\xe2\x9e\x9c :%{$fg_bold[red]%}\xe2\x9e\x9c )"\n\nPROMPT+=\' %{$fg[cyan]%}%d%{$reset_color%} $(git_prompt_info)\'\n
Run Code Online (Sandbox Code Playgroud)\n

解释:

\n

%n是用户名

\n

%m是主机名

\n

%d是目录(您可以将其替换为%~

\n

注意:username和之间有空格hostname上例中在

\n


Yas*_*hvi 7

~/.zshrc在名为 的变量下定义的文件中找到当前主题ZSH_THEME。您应该根据此处定义的主题(当前 zsh 主题)编辑文件。默认值为robbyrussell.

对于默认主题,编辑此文件:在文件中~/.oh-my-zsh/themes/robbyrussell.zsh-theme查找PROMPT变量定义(注意:您可以找到串联的多个变量声明,找到与下面提到的结构匹配的变量定义)。它应该有如下内容:

PROMPT+='%{$fg[blue]%}%~%{$reset_color%}

PROMPT根据您的喜好修改变量的中间部分,以更改提示路径。每个设置的路径示例如下所示:

  1. %~%-> 显示:~/example_dir/temp/hello_world
  2. %d%-> 显示:/User/ydave/Desktop/example_dir/temp/hello_world
  3. %2d-> 显示:temp/hello_world
  4. %3d-> 显示:example_dir/temp/hello_world
  5. %c%-> 显示:hello_world