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的目录显示方式,我觉得不错。

祝大家用得愉快!

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

  1. crossyou says:

    沙发了,呵呵 😛

  2. L42y says:

    oh my zsh 花俏一点,但是 grml 的 zsh 配置文件更加强大: http://grml.org/zsh/

  3. lonre says:

    oh my zsh 启动似乎有点延迟…

  4. mopvhs says:

    在用Ubuntu呢~~~嗯,桌面壁纸很靓~~

  5. Yousri says:

    其实bash本身也同样可以自定义配置实现哈

  6. Kebot says:

    一行安装神马的最喜欢了~

  7. paper says:

    壁纸很亮!

  8. akasuna says:

    mac 太贵,如果跟 PC 一样价格,一定买个 mac

  9. Pingback: Chen Yangjian's Blog» Blog Archive » OSX 上手小记

  10. Ace says:

    不错 回头试试

  11. Pingback: zsh, iTerm2相关文章 | 德馨

  12. Vayn says:

    其实 zsh 自带了十几个主题,可以用


    % autoload -U promptinit
    % promptinit

    来先加载 prompt 命令。

    查看所有主题列表: % prompt -l

    预览主题:% prompt -p 主题名

    使用主题:% prompt 主题名

  13. Vayn says:

    晕,才发现这篇刚在 Google Reader 里刷出来的文章都发布很久了。

  14. tian says:

    这些我用bash也实现了,而且我还可以alias g+=git add

  15. Pingback: Zsh – Beginner – Lanvige's Zen Garden

  16. Jason Ti says:

    换主题了?差点没认出了这个博客。
    今天刚用上zsh,太美妙了

  17. Reeze Xia says:

    命令行那个问题。。bash也是支持的吧。
    考虑开始加入zsh~~

  18. Pingback: 配置自己的Terminal(Mac OSX) | 小瞎与小愚

  19. Pingback: 配置自己的Terminal(Mac OSX) | 小瞎与小愚

  20. Saxon Chan says:

    麻烦问一下,为什么给路径设置别名(比如说hash -d zsh=/Users/somepath)之后 ,关闭Terminal再打开,别名就不生效了?

  21. 琦 朱 says:

    谢谢

  22. Pingback: vim 和 zsh 的简单配置过程 | sodapanda

  23. Pingback: ECAE — Shopex电子商务云的梦想空间 » [Denny] Fighting with mac

  24. Pingback: 将默认终端由zsh改回bash « 小居

  25. 世界真小啊,转来转去又看到你Blog了。前几天刚配置好oh~my~zsh,不过用的是ys主题,但是颜色与字体的设置都很不满意,urxvt太难弄了。此外你是ACG爱好者吗?

  26. Pingback: 趣谈个人建站 | MacTalk-池建强的随想录

  27. Pingback: 趣谈个人建站,此文甚长甚入 | MacTalk-池建强的随想录 | 天天三国杀

  28. Pingback: 教你如何建立自己的网站

  29. Pingback: 教你如何建立自己的网站 _ 美术的那点事!

  30. Pingback: 如何建立自己的网站 | SHAKE

  31. Pingback: 教你如何建立自己的网站 | 前端一只羊 | WEB前端开发

  32. Pingback: 谈谈个人建站 - 全力以赴,力争上游

  33. Pingback: 个人建站指导 | 侯亚辉个人博客

  34. Pingback: 如何建立自己的网站 | Charlie's Blog

  35. Pingback: ECAE — Shopex电子商务云的梦想空间 » [Denny] Fighting with mac

  36. Pingback: 教你如何建立自己的网站 | 易资讯

  37. znf says:

    重启不了了啊

    Last login: Fri Nov 29 02:02:41 2013 from 192.168.5.4

    /root/.oh-my-zsh/lib/termsupport.zsh:36: add-zsh-hook: function definition file not found

    /root/.oh-my-zsh/lib/termsupport.zsh:37: add-zsh-hook: function definition file not found

    ?. ~

    ?. ~

    ?. ~

    ?. ~

    ?. ~

    ?. ~

  38. yegle says:

    『而且能自定义最前面的提示符,比如我图中的”$”』笑尿…

  39. Pingback: 建立个人独立博客 | Gracker的程序人生

  40. Pingback: [Denny] Fighting with mac | Denny: A indie developer

  41. Nie Jia says:

    赞,LZ 截图里的主题很漂亮,具体是分支里的哪一款呢?

  42. Pingback: 前端工程师Win转Mac的初体验

  43. Pingback: Python环境配置:Virtualenv+Gunicorn+Supervisor+Nginx » 陆沉博客

  44. Pingback: Mac OS X常用工具 | A-MP

  45. wedojava says:

    反正我装完是字体缺失,缺失符号字体,也不知道为什么,字体我安装了的~~~啊~~~~

Leave a Reply

Your email address will not be published. Required fields are marked *