工欲善其事,必先利其器。

在unix/linux开发的童鞋需要经常面对bash,还是有必要对bash进行一定的优化来提升效率和体验。 偶尔发现了oh my zsh, 发现便捷性和体验比自带的bash还是好出一截, 并不是说zsh比bash好多少,而是通过oh my zsh 管理zsh之后,能够带来许多实用的新特性, 是值得推荐作为个人主要的bash环境。

zsh

zsh也是一种shell,由于大部分linux发行版默认使用的bash,所以相对而言,使用的人比较少。 但是zsh之所以能受到一部分人的青睐是因为它确实是shell中的极品。

zsh的tab补全相当给力,可以补全命令,路径,最关键的是还能补全命令的参数,这对于记不住命令 相关参数的人简直就是福音。

zsh定制能力很强,可以根据自己的需要定制各种提示样式,主题,颜色,命令,以及插件,你所想要的 几乎都是可以定制的,对于爱折腾的人来说,又是一块折腾宝地。

Oh My Zsh

如果不想折腾,但是想体验zsh所带来的更好的体验和便捷性,oh my zsh! 是你梦寐以求的项目。

它能让你快速上手zsh,提供了各种简便的配置选项,让你更快的配置zsh,让你使用zsh更加得心应手,神器一枚!

Oh My Zsh 的安装

Oh My Zsh 在github上,所以需要先安装git。

然后它提供了两种安装方式:

  • 自动安装

    wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - sh

    install.sh会自动下载oh my zsh并安装

  • 手动

    1. clone repository:

      git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

    2. Optionally, backup your existing ~/.zshrc file:

      cp ~/.zshrc ~/.zshrc.orig

    3. Create a new zsh configuration file

      You can create a new zsh config file by copying the template that we included for you.

      cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

    4. Change your default shell

      chsh -s /bin/zsh

    5. Initialize your new zsh configuration

      Once you open up a new terminal window, it should load zsh with Oh My Zsh configuration.

安装步骤还是很方便的,然后只需要修改.zshrc中相关的配置,就能得到自己的想要的shell环境。

配置

  • 主题

这是我选择zsh的原因之一,提供了各种各样的主题,也可以自己定制,告别单调的bash配色。

个人推荐 ys和pygmalion, 所有的主题都在 ~/.oh-my-zsh/themes/,一个一个的试,总会找到自己满意的主题。

修改.zshrc

ZSH_THEME="ys"

即可把主题切换为ys,现在最喜欢ys了,因为它的提示符提供了很多的信息,外加配色相当给力,所以一直用这个。 ys的提示信息一般如下:

# slayer @ dongyado in ~/vhost/app on git:master o [0:37:08] 

分别是 # - 超级管理员($代表普通用户), 用户名,主机名,目录,以及该项目的所在分支,o 表示未更改,当前时间。

  • 插件

Oh My Zsh 在 ~/.oh-my-zsh/plugins中提供很多插件,可以根据自己的需要加载相应的插件:

plugins=(git autojump encode64 urltools)

其中特别推荐autojump,如果你想告别cd 目录后面不停的按tab键补全,autojump是不二之选。

当我们在.zshrc加上

[[ -s ~/.autojump/etc/profile.d/autojump.sh   ]] && . ~/.autojump/etc/profile.d/autojump.sh

autojump 会记录每一次执行cd,j跳转后的目录,以此建立索引和优先级,当下一次使用j命令的时候,能更准确的跳转到你想要的 目录中去。特别是路劲很深的目录,更能体现autojump的魅力。

还有其他的配置参考.zshrc中配置选项即可。

使用感受

界面看起来更舒服了,跳转目录更方便了,补全更全了,传说中的神器之一吧。