linux下搭建oh-my-zsh環境

2022-11-03 21:00:21

目標:因為用習慣了zsh的shell環境,所以習慣在伺服器上也搭建zsh環境,但是每次搭建都需要Google每一步驟,感覺很麻煩,所以決定記錄一下,免得一次次查

1. 安裝zsh

zsh是一款shell環境,oh-my-zsh在其基礎上加了很多擴充套件和外掛。

具有sudo許可權

如果是root使用者:sudo apt-get install zsh
確定zsh是否安裝成功:zsh --version
更改自己的預設shell為zsh:sudo chsh -s $(which zsh)
重啟一下,就可以進行第二步了

普通使用者

如果沒有sudo許可權,那就只能自己手動編譯安裝了=。=

## 下載原始碼
wget -O zsh.tar.xz https://sourceforge.net/projects/zsh/files/latest/download
## 解壓
xz -d zsh.tar.xz	## 解壓xz檔案,提示xz命令不存在的話安裝一下xz
tar -xvf zsh.tar	## 解壓tar檔案
./configure --prefix=$HOME/usr/   # 進入到有./configure檔案下開始編譯。prefix後面跟的目錄可以自定義的
make
make install

2. 安裝oh-my-zsh

oh-my-zsh其實已經很成熟了,也具有豐富的生態,開發者們根據自己的需要建立了許多的外掛~

安裝方法有兩種:

  1. 直接安裝:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
or:
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

一般這種方法就能直接安裝好,奈何網路原因,一直失敗,於是我使用了第二種方法:

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh 

注: 1. 克隆後將templates目錄下的zsh組態檔拷貝至~/.zshrc即可,就是先把.oh-my-zsh/templates/xxx 檔案拷貝到家目錄,然後改名為.zshrc
    2. .oh-my-zsh一定要在$HOME下( ~ 下)
    3. 注意這句命令的oh-my-zsh前面有.

3. 設定zsh為預設shell

如果有sudo許可權,那麼在第一步就可以完成,如果沒有,那就得想別的辦法。
我這裡用了比較偷懶的方法,可以直接在.bashrc中加一行zsh使得登入bash後自動切換為zsh。
由於我這臺伺服器預設是sh,甚至想要切換到bash都要手動敲一下bash。於是我找到了它的.profile檔案,在最後一行加了句:zsh

4. 安裝常用的外掛

安裝完oh-my-zsh後,就可以看看豐富的外掛了!
通過編輯.zshrc可以自定義主題和外掛
我本人喜歡的主題是:

ZSH_THEME="agnoster"  # 找到.zshrc檔案中這一行就可以自己修改了,最猛的是可以改成random,每次登入都會隨機一個主題~

我習慣的外掛:

plugins=(git
        tmux
        extract
        rand-quote
        z
        vi-mode
        zsh-syntax-highlighting
        zsh-autosuggestions
           )

改完這個檔案儲存一下,重啟一下shell就能使用了,BUT,由於後面兩個外掛不是oh-my-zsh自帶的,所以需要自己手動安裝,安裝就是clone一下這兩個倉庫,其實很方便:

git clone https://github.com/zsh-users/zsh-autosuggestions.git ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions   #這個外掛就是能智慧補全你的命令
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting   #這個外掛是能夠高亮你在shell裡輸入的所有命令,如果是正確的,命令呈現綠色,如果是紅色,那麼說明你輸的有問題

這個就是有綠色的高亮也有灰色的智慧聯想:

關於zsh的各種快捷鍵實在是太多了,可以想用時查詢,在使用git時也十分方便,建議大家都用起來哦!

參考文章

https://www.jianshu.com/p/e91e3dfbb6fd
https://www.niconya.com/bv/e207/