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 *