zsh – 给你的Mac不同体验的Terminal!

zsh - 给你的Mac不同体验的Terminal!
看到@sofish同学写了一篇关于把Mac下的bash换成zsh的文章,那么我也来说说我用zsh的体验以及一些小经验。
大部分人都偏爱使用bash,或许说偏爱有点不恰当,因为很多系统比如绝大部分的Linux发行版或者Mac OS系统都是自带的bash,而一般人也就当做terminal来使用了,并没有什么太大的差别。Bash其实已经比Csh之流好用太多了,但是Bash也有很多不尽人意的地方比如像自动补全的功能不够强大,切换到较长路径下不太方便等问题。后来我用了zsh,因为zsh有强大的自动补全功能,能自动补全命令、参数、文件名、进程、用户名、变量、权限符等。而且能自定义最前面的提示符,比如我图中的”$”,是的,我爱US Dollar,我爱美元…并且还支持路径别名功能,比如要切换到一个很长的路径下~/Sites/Doit/www.doit.im,可以设置成~Doit。而且Zsh兼容绝大部分的主流shell比如bash,这样我们其实根本不需要太多的学习成本就可以很快的切换过来,当然如果你不需要配置过多的增强功能的话。
既然Zsh如此强大,那么我们为何不马上开始介绍Zsh的功能呢?其实说来惭愧,我用Zsh目前也是很皮毛,除了改改主题之类也就没有太多的研究了。Zsh虽然功能强大,但是如果要自己配置上手的话恐怕不是特别容易,所以很多人直接就放弃了这个玩意。但是,国外有个人在Github上有个开源项目就是让你快速上手Zsh的,它叫on my zsh。只要按照它介绍的提示一步步操作便可马上享用Zsh了。那么我也就简单介绍下如果把Mac下的bash替换成Zsh吧。

oh-my-zsh 这个项目可以正常运行在目前最新的zsh上,最低版本建议是4.3.9。

自动安装:

当然,如果你信任这个开源项目作者的话你可以尝试使用自动安装的方法。

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

手动安装:

1. 克隆这个项目到本地(前提是你得有装git)

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

2. 创建一个zsh的配置文件
注意:如果你已经有一个~/.zshrc文件的话,建议你先做备份。使用以下命令

cp ~/.zshrc ~/.zshrc.orig

然后开始创建zsh的配置文件

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

3. 设置zsh为你的默认的shell

chsh -s /bin/zsh

4. 重启并开始使用你的zsh (打开一个新的终端窗口便可…)

至此,大功告成。

当然你可能还需要把你的bash的配置文件(~/.bash_prorile或者~/.profile等)给拷贝到zsh的配置文件~/.zshrc里,因为zsh兼容bash,所以你大可放心把bash的配置粘贴到~/.zshrc底部便可。

PS:如果你要问我截图中的主题是什么风格的话,这个其实是另外一个开源项目里的,其实也是oh-my-zsh的一个分支版本,具体地址是https://github.com/sjl/oh-my-zsh

PS的PS:如果你要更换你的主题的话,只要修改~/.zshrc里的export ZSH_THEME=”prose”引号部分即可。究竟有哪些主题可以使用呢?这里有一份详细的主题列表以及截图,挑选你最喜欢的风格去用吧。

PS的PS的PS:并且它支持的插件也很多,比如git,vi,rails,brew等等等…这里有一篇《My Extravagant Zsh Prompt》同时推荐大家看看,如果你想更深入了解zsh的话。比如我的截图中其实增强了路径的显示(显示当前hg的分支以及所在路径)

PS的PS的PS的PS(2011-03-09 11:46):当然文中提到的oh-my-zsh的主题并不是指配色主题,而是zsh的显示风格以及搭配它的plugins的配置信息。如果你想实现我截图中的样子就需要配置你的Terminal的颜色了。不过Mac OS X的终端并不支持256色模式。如果你想得到更多色彩美观的终端样子只能使用16 ANSI。但是不够强大的Mac下的Terminal.app并不能改变16 ANSI颜色。你只能修改默认的文本颜色以及背景。真是shit啊!如果你想得到和我截图一样的终端颜色,推荐你阅读这篇文章《Candy Colored Terminal》。我使用的主题是prose,支持显示hg prompt插件的信息,增强了hg的目录显示方式,我觉得不错。

祝大家用得愉快!