筆記:zsh和oh-my-zsh

命令行是程序員的最愛,默認的bash shell雖然功能已經很強大,但顯得太樸素了,也不夠智能,遠遠談不上酷炫,雖然已經遠遠將 windows 的 cmd 甩開幾百條街。但對於極客來說,bash還是太弱了,長得也難看。

zsh 的功能比bash強大很多,但配置過於複雜,起初只有極客纔在用。後來,有個窮極無聊的程序員可能是實在看不下去廣大猿友一直只能使用單調的bash, 於是他創建了一個名爲 oh-my-zsh 的開源項目...

自此,只需要簡單的安裝配置,小白程序員們都可以用上高檔大氣上檔次,狂拽炫酷吊炸天的 oh-my-zsh

筆記:zsh和oh-my-zsh筆記:zsh和oh-my-zsh

安裝zsh

centos7爲例:(mac也是類似的操作)

查看系統是否安裝了zsh,如果沒找到/bin/zsh,就需要先安裝

cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

centos7默認情況下沒安裝zsh

用 yum 安裝 zsh

$ sudo yum -y install zsh

安裝成功

$ cat /etc/shells | grep zsh
/bin/zsh

切換shell爲zsh

$ chsh -s /bin/zsh
Changing shell for root.
Shell changed.

退出,重啓終端,可看到shell已切換成功

$ echo $SHELL
/bin/zsh

安裝oh-my-zsh

一行命令即可自動化安裝

$ wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

成功界面:

筆記:zsh和oh-my-zsh筆記:zsh和oh-my-zsh

退出重新登入終端,即可看到oh-my-zsh已經生效

接下來只需簡單的配置,就可以享受 oh-my-zsh 的強大

主題選擇

oh-my-zsh有很多漂亮的主題:

主題列表中選擇自己心宜的主題,安裝很簡單,打開配置文件 ~/.zhsrc ,將 ZSH_THEME 值改爲你所選的主題名稱

如:

$ vim ~/.zshrc
# 修改主題名稱
ZSH_THEME="ys"

然後重新加載配置文件

$ source ~/.zshrc

每次修改配置文件後,都需要再次加載配置文件才能生效

插件

oh-my-zsh默認安裝了git插件,在git倉庫中,會提示當前所在的分支。此外,還有大量優秀的插件,具體可查看插件倉庫,以下只介紹幾個我常用的插件

  • extract

linux下的壓縮文件有多種格式,我總是忘記不同格式的解壓命令,如果有一個通用的指令可以解壓所有文件就好了,extract插件就能解決此問題

現在不管是 zip, tar.bz2, gz 等格式的壓縮文件,都只需要執行 extract filename 即可

  • z

z插件可以智能在歷史的cd命令中智能地選擇指令,如,我們在終端執行過cd /usr/local/nginx/conf/vhost,以後只需要執行z vhost即可,不必再去敲長串的命令了

以上兩個插件都是oh-my-zsh自帶的,只需要在配置文件的plugins配置中加入插件名稱即可,多個插件用空格隔開

  • zsh-autosuggestions

zsh-autosuggestions屬於第三方插件,可以提示我們插入歷史命令

如,我執行過php artisan ide-helper:generate命令,下次當我輸入php時,就會自動示指令,並且會隨着我們的輸入而實時地匹配最符合的歷史指令,當所提示的指令符合我們的預期,只需要按右箭頭即可補全

筆記:zsh和oh-my-zsh筆記:zsh和oh-my-zsh

安裝此插件的流程:

$ git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

在配置文件中中添加插件名稱

綜上,配置文件plugins的內容如下:

plugins=(
git
extract
z
zsh-autosuggestions
)

重新載入配置文件,即可生效

可能遇到的問題

以下是可能遇到的小問題

與vim的提示相沖突

使用自動補全插件可能會與vim的提示功能相沖突,如會報以下錯誤:

$ vim t
_arguments:451: _vim_files: function definition file not found

解決方法:將~/.zcompdump*刪除即可

$ rm -rf ~/.zcompdump*
$ exec zsh

卡頓

有時候執行 cd 會卡,這讓人難以忍受。原因是 oh-my-zsh 在獲取 git 信息,可以將 git 信息隱藏:

git config --global oh-my-zsh.hide-status 1

小結

關於 oh-my-zsh 的功能,本文所涉及的僅是冰山一角,這些已經足夠我平時使用了,極大提高了效率,相信我,一旦用過這個尤物,你再也不能忍受單調枯燥的 bash 了

本文原創地址:https://www.linuxprobe.com/zsh-oh-my-zsh.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章