zsh本體的安裝
先用chsh -l
查看當前的bash情況,如下:
[root@zabbix ~]# chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
/usr/bin/tmux
[root@zabbix ~]#
如果是centos的話,使用yum install -y zsh
來安裝zsh,裝完了zsh然後就是裝oh my zsh
,使用wget方法安裝
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
再使用which zsh
查看安裝的zsh在/usr/bin/zsh
,這個時候使用chsh -s /usr/bin/zsh
,出現了Shell changed.
這樣就切換到了zsh界面,需要logout退出連接重進。
重新連接就會發現bash界面就變了,原本是路徑的地方變成了一個小圖標。界面主題是可以變化的,比如我個人比較喜歡af-magic
這個模板,於是乎就把/root/.zshrc
裏的ZSH_THEME="robbyrussell"
改成ZSH_THEME="af-magic"
,保存文件,再一次退出連接重新進入就能看見模板變化了。
如果在使用vim
的時候發現了tab鍵的補全爆錯_arguments:451: _vim_files: function definition file not found
,如下圖:
這個時候需要把/root/.zcompdump
改一個名字,比如叫.zcompdump-bak
,然後重新ssh連接即可。
autojump插件安裝
autojump
這個插件安裝之後,zsh會自動記錄你訪問過的目錄,通過j + 目錄名
可以直接進行目錄跳轉,而且目錄名支持模糊匹配和自動補全,例如你訪問過hadoop-1.0.0
目錄,輸入j hado
即可正確跳轉。j –s
可以看你的歷史路徑庫,安裝方法如下:
git clone git://github.com/joelthelion/autojump.git
然後在autojump
目錄裏執行./install.sh
,此時屏幕會出現如下的顯示:
把上面那個[[ -s /root/.autojump/etc/profile.d/autojump.sh ]] && source /root/.autojump/etc/profile.d/autojump.sh autoload -U compinit && compinit -u
複製到/root/.zshrc
的文件裏,最好複製在source $ZSH/oh-my-zsh.sh
這句話上面,保存之後source ~/.zshrc
即可。
zsh-syntax-highlighting插件安裝
這個插件安裝之後主要效果就是命令高亮,如果是錯誤的命令,顏色是紅色,正確的命令是綠色的,安裝方法如下:
cd .oh-my-zsh/plugins
yum install -y git #如果已經安裝了git就不用執行的
git clone git://github.com/zsh-users/zsh-syntax-highlighting.git
source /root/.oh-my-zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh添加到 .zshrc 的最後面
source ~/.zshrc
效果立竿見影。
尾聲
至此,你現在的zsh應該具備如下幾個特性:
1、各種補全:路徑補全、命令補全,命令參數補全,插件內容補全等等。觸發補全只需要按一下或兩下tab
鍵,補全項可以使用ctrl+n/p/f/b上下左右
切換。比如你想殺掉java的進程,只需要輸入kill java + tab鍵
,如果只有一個java進程,zsh會自動替換爲進程的pid,如果有多個則會出現選擇項供你選擇。ssh + 空格 + 兩個tab鍵
,zsh會列出所有訪問過的主機和用戶名進行補全;
2、即使你沒有安裝autojump
,只要輸入d
,就會列出你在這個回話中訪問的目錄,輸入前面的序號,就可以直接跳轉;
3、可以忽略cd命令, 輸入..
或者...
和當前目錄名都可以跳轉;
當然,除了上面幾點,zsh還有很多豐富的插件可以使用,這就需要繼續的探索了...
參考資料
https://github.com/robbyrussell/oh-my-zsh
http://macshuo.com/?p=676