其他:oh-my-zsh终端用户名屏蔽设置

终端的配置可以考虑直接使用oh-my-zsh,方便且美观,还有很多主题可以选择。但安装完后,打开终端,发现用户名@域名这个部分特别长,很影响终端使用,那如何处理呢?其他网站上有很多教程,但针对的都不是oh-my-zsh的,经过一番摸索之后我终于找到了解决办法,发出来给大家看看,欢迎交流学习!

1、安装的流程可以参考:http://www.jianshu.com/p/7de00c73a2bb 这个貌似是mac环境的,但配置流程和指令和linux通用,我们只要绕过所有iterm2的操作就好,我用的主题是agnoster

2、网上对这个的处理大多是打开bashrc然后修改PS1或者重新定义修改PS1,但oh_my_zsh的shell是zsh,明显不能在.bashrc中改。
不信可以在终端输入

 echo $PS1   

或者

 echo $PROMPT

可以看到其定义为

 %{%f%b%k%}$(build_prompt) 

这和bashrc里PS1的定义是不同的,根本无从下手。于是又有人说那就在.zshrc中改咯,我试过,发现改了以后终端的显示会不正常,比如linux的指令都有返回值,一般为0,其他表示运行错误之类。oh_my_zsh是可以用符号提醒用户的上一个指令是否执行成功的,如果在.zshrc重新定义PS1,这个功能将会失效。所以只能用特别的方式啦。

3、解决办法:按照1中链接的安装方式,oh_my_zsh的主题和设置会被复制到主目录下,只要在终端输入

 cd ~/.oh-my-zsh/themes

然后输入

echo $ZSH_THEME

查看自己主题,我的是agnoster,然后输入

vi agnoster.zsh-theme

可以看到最下面对build_prompt的定义为

## Main prompt
build_prompt() {
 RETVAL=$?
 prompt_status
 prompt_virtualenv
 prompt_context
 prompt_dir
 prompt_git
 prompt_hg
 prompt_end
}

build_prompt的定义像个结构体(实际是什么我不太懂),但agnoster.zsh-theme中对build_prompt里的每个成员都有定义,从prompt_context的定义

# Context: user@hostname (who am I and where am I)
prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER@%m"
  fi
}

可以看出这个就是定义用户名和域名的地方,只要把build_prompt的定义修改为如下:

## Main prompt
build_prompt() {
  RETVAL=$?
  prompt_status
  prompt_virtualenv
 #prompt_context
  prompt_dir
  prompt_git
  prompt_hg
  prompt_end
}

即把prompt_context用#注释掉即可,以后需要修改其他东西也可到这里修改。
————————————————————————————————————————————
这里做个更新(2017-08-01):
1、由于oh_my_zsh时常会有版本更新,为了避免我们修改的跟更新的版本有冲突,建议不要修改agnoster.zsh-theme,而是将其拷贝出来,命名为自己的主题文件,比如叫做myagnoster.zsh-theme,然后只对myagnoster.zsh-theme进行修改。
2、修改后将~/.zshrc中的

ZSH_THEME="agnoster"

改为

ZSH_THEME="myagnoster"

这样就能避免冲突了。

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
oh-my-zsh 是一个开源的、社区驱动的 zsh 配置管理框架,它提供了一系列的插件、主题和自定义选项,使得用户可以轻松地定制和管理自己的 zsh 终端环境。它旨在提供一个更强大、更易用的终端工具。 而 oh-my-zsh-git 是 oh-my-zsh 在 GitHub 上的一个 fork 版本,它基于原版的 oh-my-zsh,对其进行了一些修改和扩展。oh-my-zsh-git 主要的目的是为了扩展和增强原版 oh-my-zsh 的功能,并从社区中收集和整合更多的插件和主题。 具体来说,oh-my-zsh-git 与 oh-my-zsh 的区别主要体现在以下几个方面: 1. 功能扩展:oh-my-zsh-git 在原版 oh-my-zsh 的基础上增加了一些功能和工具,使得终端使用起来更加方便和高效。 2. 插件和主题:oh-my-zsh-git 提供了更多的插件和主题选项,且会持续更新和增加。用户可以根据自己的需求选择和使用不同的插件和主题。 3. 扩展性:oh-my-zsh-git 更加注重可扩展性,用户可以自定义添加新的插件和主题,或者根据自己的需要修改现有的插件和主题。 4. 社区支持:oh-my-zsh-git 的社区活跃度较高,用户能够得到更多的帮助和支持,同时也能够贡献自己的代码和改进。 综上所述,oh-my-zsh-git 是在 oh-my-zsh 基础上进行的一些改进和扩展,提供了更多的插件和主题选项,同时注重用户的自定义和扩展能力。用户可以根据自己的需求选择采用哪个版本。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值