oh-my-zsh

Federico發表於2018-07-03

  好吧,以前我是在Mac上配置過oh-my-zsh的,至於今天也真的是忍無可忍了,所以把自己的雲主機shell也修改為oh-my-zsh至於問什麼說是忍無可忍了呢,當讓是因為你用慣了zsh就會覺得zsh好多地方設計的真的比bash方便的多。

修改當前shell為zsh

chsh -l

/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/usr/bin/tmux
/bin/zsh

  使用以上命令可以看到我們的CentOS當前支援的所有shell,當然也可以使用cat /etc/shells來檢視,需要注意的是如果是在ubuntu中只能使用cat /etc/shells命令來檢視,從我們的配置中可以看見我們有/bin/zsh如果沒有的話,CentOS直接使用yum安裝,Ubuntu直接使用apt-get安裝即可。
yum -y install zsh
apt-get -y install zsh
  此刻我們已經有zsh了,就先將當前shell切換為zsh。
chsh -s /bin/zsh

安裝oh-my-zsh

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  隨便在網上找的指令碼,如果失效了,可以重新在找一個,這種資源很多。
vim .zshrc

ZSH_THEME="agnoster"

  我是喜歡將主題切換為這個啦,因為覺得這個命令列介面特別炫酷,當然如果你不喜歡使用哪個都可以,這個並不會影響功能。修改完主題需要source下。
source .zshrc
oh-my-zsh

這個就是我的當前命令列頁面了。當讓目前我們就已經切換完成了。

oh-my-zsh功能強大之處

目錄切換

oh-my-zsh

  這裡我們簡單舉例,首先我建立了三個資料夾,當我們執行cd命令時就不需要我們輸入資料夾名稱直接可以選擇當前目錄的所有資料夾,按tab鍵進行切換,這個功能我覺得是非常強大好用的,能提高工作效率。

Git快捷操作

cd ~/.oh-my-zsh/plugins/git
cat git.plugin.zsh

alias gr='git remote'
alias gra='git remote add'
alias grb='git rebase'
alias grba='git rebase --abort'
alias grbc='git rebase --continue'
alias grbd='git rebase develop'
alias grbi='git rebase -i'
alias grbm='git rebase master'
alias grbs='git rebase --skip'
alias grh='git reset'
alias grhh='git reset --hard'
alias grmv='git remote rename'
alias grrm='git remote remove'
alias grset='git remote set-url'
alias grt='cd $(git rev-parse --show-toplevel || echo ".")'
alias gru='git reset --'
alias grup='git remote update'
alias grv='git remote -v'

  以上列舉出來的只是oh-my-zsh中git別名的一小部分,當然我們也只需要掌握我們常用的就可以。

切換到zsh實際上是做了什麼

chsh -s /bin/zsh
  當我們執行了以上命令後實際上是對/etc/passwd配置檔案進行了修改。

root:x:0:0:root:/root:/bin/zsh

  由此可見,我們登入的shell變為了bin/bash,以後我們就能夠享受炫酷的介面以及高效的辦公了。