【发布时间】:2016-08-26 15:26:46
【问题描述】:
我刚刚安装了 rvm 以使用here 概述的方法升级 ruby。安装后,我的 zsh 实例现在总是显示 rvm:ruby-2.3.0,如下图所示:
我不希望它出现,但我很难找到它的设置位置,有什么想法吗?很烦人。
谢谢!
【问题讨论】:
我刚刚安装了 rvm 以使用here 概述的方法升级 ruby。安装后,我的 zsh 实例现在总是显示 rvm:ruby-2.3.0,如下图所示:
我不希望它出现,但我很难找到它的设置位置,有什么想法吗?很烦人。
谢谢!
【问题讨论】:
您的提示设置在您指定的
.zsh-theme文件中.zshrc主目录中的文件。
换成另一个主题:
如果您想将提示更改为预先存在的提示,请使用您喜欢的文本编辑器打开您的 .zshrc 文件。您可以在~/.zshrc 中找到您的.zshrc。当您打开该文件时,您将看到如下所示的一行:ZSH_THEME="gallois"。 (看起来你正在使用gallois)
如果要更改整个提示,则应更改此行。例如,将您的 this 从 ZSH_THEME="gallois" 更改为 ZSH_THEME="dallas" 以更改为预先存在的 dallas 主题。单击here 查看所有默认主题的列表及其外观。这些主题位于~/.oh-my-zsh/themes。
然后你应该运行 . ~/.zshrc 来获取 zsh 并且你会看到新的提示。
编辑gallois主题以移除正确提示
这些主题位于~/.oh-my-zsh/themes。我建议复制gallois.zsh-theme 文件并制作一些其他文件,例如yourname.zsh-theme。在主题文件中,您可以通过删除此注释下方的行来完全删除正确的提示:
# Combine it all into a final right-side prompt
RPS1='$(git_custom_status)$(ruby_prompt_info) $EPS1'
您可能也应该从主题文件中删除它以更好地衡量:
# RVM component of prompt
ZSH_THEME_RVM_PROMPT_PREFIX="%{$fg[red]%}["
ZSH_THEME_RVM_PROMPT_SUFFIX="]%{$reset_color%}"
#Customized git status, oh-my-zsh currently does not allow render dirty status before branch
git_custom_status() {
local cb=$(git_current_branch)
if [ -n "$cb" ]; then
echo "$(parse_git_dirty)%{$fg_bold[yellow]%}$(work_in_progress)%{$reset_color%}$ZSH_THEME_GIT_PROMPT_PREFIX$(git_current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX"
fi
}
请记住,这也会从您的提示中删除任何关于 git repos 的描述。然后你应该运行 . ~/.zshrc 来获取 zsh 并且你会看到新的提示。
编辑 Gallois 主题以仅删除 ruby 提示符
这些主题位于~/.oh-my-zsh/themes。我建议复制gallois.zsh-theme 文件并制作一些其他文件,例如yourname.zsh-theme。在主题文件中,您可以通过删除此行的一部分来仅删除 rvm 提示:
# Combine it all into a final right-side prompt
RPS1='$(git_custom_status)$(ruby_prompt_info) $EPS1'
如果您只是删除 $(ruby_prompt_info) 部分,使其看起来像这样:
# Combine it all into a final right-side prompt
RPS1='$(git_custom_status) $EPS1'
然后你可以跳到最后,只删除提示的 rvm 部分。我还建议删除这些行以避免使主题文件混乱:
# RVM component of prompt
ZSH_THEME_RVM_PROMPT_PREFIX="%{$fg[red]%}["
ZSH_THEME_RVM_PROMPT_SUFFIX="]%{$reset_color%}"
然后你应该运行 . ~/.zshrc 来获取 zsh 并且你会看到新的提示。
【讨论】:
custom 文件夹而不是themes 文件夹。
另一种隐藏 ruby 版本信息的方法是覆盖 ruby_prompt_info() 函数,该函数用于确定提示中包含的内容。
为此,请编辑您的~/.zshrc 并在$HOME/.rvm/scripts/rvm 已获得来源之后添加以下:
# hide ruby version from ps1
function ruby_prompt_info() { echo '' }
【讨论】:
如果您像我一样因为 powerlevel10k 主题的问题而来到这里,请执行以下操作:
打开~/.p10k.zsh
找线:
rvm # ruby version from rvm (https://rvm.io)
注释掉:
# rvm # ruby version from rvm (https://rvm.io)
打开一个新终端
【讨论】: