其實一開始讓我轉zsh
我是拒絕的,由於OS X默認的bash
相對來講已經至關強大了,可是受不了oh-my-zsh
誘人的界面,因而今天就花時間裝上體驗了一把,再而後就是我來這裏安利了???git
首先須要安裝zsh
,若是不肯定有沒有,能夠經過終端命令:github
cat /etc/shells
查看,個人結果以下:shell
/bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh
沒有的就須要安裝了。vim
OS X用戶:睾貴的自帶了zsh
,跳過...windows
Ubuntu用戶:sudo apt-get install zshbash
Windows用戶:因爲天生過高貴,沒法安裝,請關閉當前頁面...???請轉至評論區,藉助Cygwin能夠實現(3月31日更新,據Windows開發者大會前線消息,Windows推出了bash for windows,Windows用戶們喜大普奔吧!!!)dom
傳說zsh
配置極其複雜,起初並無多少人用,後來有個程序猿在GitHub開源了一個oh-my-zsh項目,而後就...zsh
大法好,果真程序猿改變世界!!!curl
oh-my-zsh
有兩種安裝方式:字體
# via wget sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" # via curl sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
安裝完成後重啓終端就OK了。this
我以前一直使用的是bash
,有部分配置保存在相應的配置文件中,個人是在~/.bash_profile
中,使用vim ~/.bash_profile
進入編輯模式,把裏面的我的配置拷貝出來粘貼到~/.zshrc
的末尾便可。
oh-my-zsh
最直觀和bash
不同的地方要數它豐富的主題了,也是一開始吸引我使用它的地方。不過在配置主題以前最好先保證系統有豐富的字體,由於部分主題依賴於這些字體,按照說明安裝便可,安裝完成後在shell
偏好設置裏面選擇,我使用的是Meslo for Powerline
系列。
切換主題只須要編輯~/.zshrc
文件,找到下面這段文本:
# Set name of the theme to load. # Look in ~/.oh-my-zsh/themes/ # Optionally, if you set this to "random", it'll load a random theme each # time that oh-my-zsh is loaded. ZSH_THEME="random"
我本身配置的是隨機random
,自帶的主題在~/.oh-my-zsh/themes
裏面,想用哪一個就把相應的名字替換進去就能夠了,這是一些自帶主題的截圖⇒我帶你去看。有可能你不知足於這些,不要緊,還有擴展主題,每一個主題都有詳細的配置方法,照作就OK了。
oh-my-zsh
另一個強大的地方是插件,自帶插件在~/.oh-my-zsh/plugins
目錄下,想了解各個插件的功能和使用方法,閱讀各個插件目錄下的*.plugin.zsh
就能夠了,好比在終端中輸入vim ~/.oh-my-zsh/plugins/git/git.plugin.zsh
,你能夠看到:
# Query/use custom command for `git`. zstyle -s ":vcs_info:git:*:-all-" "command" _omz_git_git_cmd : ${_omz_git_git_cmd:=git} # # Functions # ... alias g='git' alias ga='git add' alias gaa='git add --all' alias gapa='git add --patch' ...
貼心好用到哭有木有???
除了自帶插件外,還有一大票擴展插件,我目前只安裝了一個zsh-completions。安裝方式很簡單,把插件用git
命令克隆到~/.oh-my-zsh/custom/plugins
,而後在配置文件中按插件說明配置保存、重啓就能夠了。
有些插件在按照說明安裝使用後會報相似於以下的錯誤:
_arguments:450: _vim_files: function definition file not found
個人解決辦法是,直接刪除~/.zcompdump
文件,可是不知道會不會影響其餘插件的功能。
舉個栗子?,以前偶爾須要用到刪除文件夾的操做,rm -r [path]
,可是經常會忘記中間的參數是什麼,如今我只須要這麼作:
# 輸入 rm - , 而後按tab rm - -R -r -- remove directories and their contents recursively -f -- ignore nonexistent files, never prompt -i -- prompt before every removal
對於這種低頻的操做來講很是方便,不須要再使用man
來查詢。
另外一個我很喜歡的地方就是當處於Git版本控制
目錄下時,有很是貼心的版本相關信息,包括當前所在分支,本地代碼提交狀況等(SVN
好像沒有這個功能,不知是我姿式不對仍是能夠經過其餘插件得以實現類似功能),同時對Git
精簡了不少命令。
還有,cd
敲太可能是不是煩了?在oh-my-zsh
中進入某個路徑不須要帶cd
。
以上就是使用了一天的成果了,期待有更多更好玩的發現!
最後講一句,開源大法好!!!開源大法好!!!開源大法好!!!