RVM 在 ZSH 中显示 Ruby 版本

bul*_*lue 5 zsh zshrc oh-my-zsh

我刚刚安装了 rvm 以使用此处概述的方法升级 ruby 。安装后,我的 zsh 实例现在总是显示 rvm:ruby-2.3.0,如下图所示:

在此处输入图片说明

我宁愿它不出现,但我找不到它的设置位置,有什么想法吗?这很烦人。

谢谢!

ken*_*y_k 13

如果像我一样,您因为主题问题而最终来到这里powerlevel10k,请执行以下操作来禁用该rvm

  1. 打开~/.p10k.zsh

  2. 找到该行:

    rvm                     # ruby version from rvm (https://rvm.io)
    
    Run Code Online (Sandbox Code Playgroud)
  3. 注释掉它:

    # rvm                     # ruby version from rvm (https://rvm.io)
    
    Run Code Online (Sandbox Code Playgroud)
  4. 打开一个新终端


Cal*_*ams 6

您的提示设置在您的主目录.zsh-theme中的.zshrc文件中指定的 文件中。

切换到另一个主题:

如果您想将提示更改为预先存在的提示,请.zshrc使用您喜欢的文本编辑器打开您的文件。您可以.zshrc~/.zshrc. 当您打开该文件时,您将看到如下所示的一行:ZSH_THEME="gallois". (看起来您正在使用 gallois)

如果要更改整个提示,则应更改此行。例如,您这种从改变ZSH_THEME="gallois"ZSH_THEME="dallas"改变到先前存在的达拉斯主题。单击此处获取所有默认主题及其外观的列表。这些主题位于~/.oh-my-zsh/themes.

然后你应该运行. ~/.zshrc到 source 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'
Run Code Online (Sandbox Code Playgroud)

您可能也应该从主题文件中删除它,以便更好地衡量:

# 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
}
Run Code Online (Sandbox Code Playgroud)

请记住,这也会从您的提示中删除有关 git repos 的任何描述。然后你应该运行. ~/.zshrc到 source 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'
Run Code Online (Sandbox Code Playgroud)

如果您只是删除该$(ruby_prompt_info)部分,使其看起来像这样:

# Combine it all into a final right-side prompt
RPS1='$(git_custom_status) $EPS1'
Run Code Online (Sandbox Code Playgroud)

然后你可以跳到最后,只删除提示的 rvm 部分。我还建议删除这些行以避免使主题文件混乱:

# RVM component of prompt
ZSH_THEME_RVM_PROMPT_PREFIX="%{$fg[red]%}["
ZSH_THEME_RVM_PROMPT_SUFFIX="]%{$reset_color%}"
Run Code Online (Sandbox Code Playgroud)

然后你应该运行. ~/.zshrc到 source zsh ,你会看到新的提示。


Kei*_*itt 6

隐藏 ruby​​ 版本信息的另一种方法是重写ruby_prompt_info()用于确定提示中包含的内容的函数。

为此,请编辑并获取后~/.zshrc添加以下内容: $HOME/.rvm/scripts/rvm

# hide ruby version from ps1
function ruby_prompt_info() { echo '' }
Run Code Online (Sandbox Code Playgroud)