oh-my-zsh修改主题添加全路径显示

7,396 阅读1分钟

oh-my-zsh修改默认robbyrussel主题添加全路径显示

默认的robbyrussel本身已经十分简洁,一些小tweak就能变得十分高大上

然而,robbyrussel主题有一个很令人难受的痛点,在于它并不能显示全路径,只能显示当前所在的文件夹名,如现在处于路径/home/.../src中,此主题就只是显示最后路径,即src,带来了一些不方便。

所以这里提供一种解决办法:直接修改.zsh-theme文件,基于这种方法,你甚至可以直接定制自己的主题!

详细步骤如下

  • 打开zsh终端
  • 输入命令gedit ~/.oh-my-zsh/themes/robbyrussell.zsh-theme,这里gedit只是使用gedit编辑器打开的意思,可以换成vim,gvim,均可

打开后是这个样子的:

local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
PROMPT='${ret_status} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'

ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"

那个

PROMPT='${ret_status} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'

中的%c就是罪魁祸首,是当前文件夹名的意思,我们把它修改为[$PWD],整个也就变成了

PROMPT='${ret_status} %{$fg[cyan]%}[$PWD]{$reset_color%} $(git_prompt_info)'

$PWD是终端自带变量,值为当前路径,我们做的只是把它取出来而已。

保存并退出编辑器,新开一个zsh终端,也就变成了➜ [/home/.../src]这个样子,全路径实现,并包在中括号里!