在ZSH中显示RVM的Ruby版本

10 浏览
0 Comments

在ZSH中显示RVM的Ruby版本

我刚刚安装了rvm,按照这里的方法升级了ruby。安装后,我的zsh实例始终显示rvm:ruby-2.3.0,如下图所示:

enter image description here

我希望它不要出现,但我找不到设置的地方,有什么想法吗?这真的很烦人。

谢谢!

0
0 Comments

在ZSH中,RVM会在命令行提示符中显示当前正在使用的Ruby版本。然而,有时候我们可能希望隐藏这个信息。为了实现这个目的,可以通过覆盖ruby_prompt_info()函数来决定命令行提示符中包含的内容。

要做到这一点,可以编辑~/.zshrc文件,在$HOME/.rvm/scripts/rvm被加载后添加以下内容:

# 隐藏命令行提示符中的Ruby版本
function ruby_prompt_info() { echo '' }

以上代码会覆盖默认的ruby_prompt_info()函数,并将其输出置为空。这样,就能够隐藏命令行提示符中的Ruby版本信息了。

通过这种方式,我们可以在ZSH中使用RVM,同时隐藏Ruby版本信息,使得命令行提示符更加简洁和清晰。

0
0 Comments

RVM显示Ruby版本在ZSH中的问题是由于使用的ZSH主题文件中包含了显示Ruby版本的代码而引起的。解决方法可以通过更改ZSH主题文件或者更换主题来解决。

首先,如果想要更换主题,可以打开位于家目录下的.zshrc文件,使用文本编辑器打开该文件。在文件中可以找到一行类似于"ZSH_THEME="gallois""的代码,这行代码指定了当前使用的主题为gallois。如果想要更换整个提示符的样式,可以将这行代码修改为"ZSH_THEME="dallas""来使用预设的dallas主题。点击此处可以查看所有默认主题的列表及其样式。这些主题文件位于~/.oh-my-zsh/themes目录中。修改完后,运行". ~/.zshrc"命令重新加载ZSH,即可看到新的提示符样式。

其次,如果想要在gallois主题中移除右侧的提示,可以复制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仓库相关的描述。修改完主题文件后,运行". ~/.zshrc"命令重新加载ZSH,即可看到新的提示符样式。

最后,如果只想要移除gallois主题中的Ruby提示,可以删除以下代码行的一部分:

# 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,即可看到新的提示符样式。

如果像我一样,对主题文件进行了修改但在实际Shell中没有生效,可以检查主题是否是从custom文件夹而不是themes文件夹中加载的。

0
0 Comments

问题出现的原因是使用powerlevel10k主题时出现的。解决方法如下:

  1. 打开~/.p10k.zsh文件
  2. 找到以下行:rvm # ruby version from rvm (https://rvm.io)
  3. 将其注释掉:# rvm # ruby version from rvm (https://rvm.io)
  4. 打开一个新的终端

我的github代码空间突然显示了ruby的版本,感谢这个专业提示,通过注释掉这行代码解决了问题。

0