1. 程式人生 > >Ubuntu 16.04下安裝zsh和oh-my-zsh

Ubuntu 16.04下安裝zsh和oh-my-zsh

注意:安裝前先備份/etc/passwd

一開始裝oh-my-zsh我是拒絕的,因為這東西安裝容易,解除安裝難,真的很難。

說明:Ubuntu下預設沒有安裝zsh,Mac下預設安裝了zsh。

注意:安裝了oh-my-zsh之後的環境變數入口就會從./bashrc變成./zshrc,這點在配置環境變數的時候要特別小心。可以參考Mac的配置,基本都是同樣的:http://www.cnblogs.com/EasonJim/p/6283190.html

一、安裝:

1、安裝zsh

sudo apt-get install zsh

2、把預設的Shell改成zsh

chsh -s /bin/zsh

注意:不要使用sudo。

3、配置密碼檔案,解決chsh: PAM認證失敗的問題

sudo vim /etc/passwd

把第一行的/bin/bash改成/bin/zsh,這個是root使用者的。

把最後一行的/bin/bash改成/bin/zsh,這個應該是每臺電腦的登入使用者名稱+計算機名組成的。

4、安裝Git

sudo apt-get install git

5、安裝oh-my-zsh

為什麼要安裝,用於快速配置zsh。

離線版本:(連結: https://pan.baidu.com/s/1i5iqYhB 密碼: v5c2),如果使用離線版本需要修改為可執行許可權:sudo chmod +x *.sh

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

6、重啟電腦,檢視效果

 

7、安裝autojump自動跳轉外掛

安裝:

sudo apt-get install autojump

配置教程:cat /usr/share/doc/autojump/README.Debian

配置:

vim .zshrc
#在最後一行加入,注意點後面是一個空格
. /usr/share/autojump/autojump.sh

生效:

source ~/.zshrc

8、安裝zsh-syntax-highlighting語法高亮外掛

安裝:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc

生效:

source ~/.zshrc

9、安裝zsh-autosuggestions語法歷史記錄外掛

安裝:

git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
plugins=(zsh-autosuggestions)

然後會發現上面這句話是不會生效的。這裡科普一下:在~/.oh-my-zsh/plugins下有很多外掛,直接使用plugins=(ant mvn svn git)這樣的命令是可以直接載入外掛的。

經過研究發現,如果使用plugins去執行外掛的,首先要在本機已經安裝了這個軟體之後才可以使用。且這種方式在Ubuntu下不支援命令去執行,只能放在.zshrc檔案下使用,然後再通過source ~/.zshrc使其生效。這個是對於Ubuntu比較吭的地方。

所以上面的plugins要放在~/.zshrc,具體修改如下:

vim ~/.zshrc

增加外掛:

然後增加zsh的執行檔案在最後一行:

source $ZSH_CUSTOM/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh

生效:

source ~/.zshrc

10、配置主題

sudo vim ~/.zshrc

找到ZSH_THEME="robbyrussell",修改為:ZSH_THEME="ys";

生效:

source ~/.zshrc

二、解除安裝:

執行:

sudo sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/uninstall.sh)"

把/etc/passwd改回bash:

第一行的/bin/bash

最後一行的/bin/bash

其實看樣子是很簡單的解除安裝,但是最後你會發現還有很多沒有幹掉的,在使用上你會慢慢的發現。

參考: