上一次推文寫了JupyterLab:程序員的筆記本神器,介紹的是如何在web端打造一個便捷的開發環境,發出後反響還不錯

因此我決定再寫幾篇能提升程序員工作以及學習效率的文章,如果能形成一個系列那是最好~如果你有自己的效率工具以及方案,歡迎留言討論

什麼是oh-my-zsh

諸位大佬都知道,Linuxshell默認是bash,但還有一種shell,叫做zsh它比bash更加強大,功能也更加完善,zsh雖說功能強大,但是配置比較複雜導致流行度不是很高

但是好東西終究是好東西,開源界的大佬們是不會讓明珠蒙塵,我等伸手黨也是可以直接搭順風車的,感謝robbyrussell大佬的開源項目 oh-my-zsh 吧,從此使用zsh也就幾行命令的事情

oh-my-zsh項目目前有80k+star,貢獻者超過1300,並且提供了200多個可選插件(rails,git,OSX,hub,capistrano,brew,ant,php,python等),以及超過140個主題供你選擇,安裝後你將享受以下特性:

  • 首先兼容bash
  • 自動cd:只需輸入目錄的名稱即可
  • 命令選項補齊,比如輸入git,然後按Tab,即可顯示出git都有哪些命令
  • 目錄一次性補全:比如輸入Doc/docTab鍵會自動變成Documents/document/
  • 插件和主題支持(插件能進一步提升效率)

安裝oh-my-zsh

在安裝oh-my-zsh之前,首先需要安裝好zsh

yum install -y zsh

切換shell為zsh:

chsh -s /bin/zsh

重啟終端:

# 查看當前shell
echo $SHELL

輸出/bin/zsh表示成功

oh-my-zsh的安裝非常簡單,參考官網,執行如下命令即可:

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

# wegt
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

輸出如下表示成功:

配置oh-my-zsh

bash不同,zsh的配置文件是~/.zshrc,實際上oh-my-zsh的默認配置也夠我們使用了,但是這樣其真正的強大之處並不能得到很好的體現,因此我們可以繼續看看對應的插件和主題功能

關於主題

oh-my-zsh的主題非常豐富,可以用如下命令查看已有主題:

ls .oh-my-zsh/themes

個人比較喜歡簡單的,因此用了wedisagree主題,進入.zshrc配置文件進行修改

vim ~/.zshrc

將第11行改為ZSH_THEME="wedisagree",然後:wq保存退出,主題就自動生效

關於插件

oh-my-zsh的插件生態非常豐富,下面列出來的是我個人比較常用的插件,如果你有興趣,可以取發掘能提高自身效率的插件~

注意:如果操作過程中出現_arguments:448: _vim_files: function definition file not found錯誤,請執行:rm -f ~/.zcompdump即可

incr

incr是一款自動提示插件,功能非常強大,官網演示demo,感受一下:

安裝:

wget http://mimosa-pudica.net/src/incr-0.2.zsh
mkdir ~/.oh-my-zsh/plugins/incr
mv incr-0.2.zsh ~/.oh-my-zsh/plugins/incr
echo source ~/.oh-my-zsh/plugins/incr/incr*.zsh >> ~/.zshrc
source ~/.zshrc

可以開心的敲命令行了~

autojump

這款插件基本上算是必備插件了,在終端操作裡面比較常用的算是文件夾之間的切換,這款插件極大地簡化了路徑跳轉的操作,在一鍵直達的功能下,自動補全也就一般般了哈

先安裝:

yum install autojump-zsh
chmod 777 /usr/share/autojump/autojump.bash
echo "/usr/share/autojump/autojump.bash" >> ~/.zshrc
source ~/.zshrc

效果如下:

以前的cd code現在可以直接j c,路徑越長,該插件效果就越明顯

zsh-autosuggestions

這是一個命令自動補全插件,當你輸入命令的幾個字母,它會自動根據歷史輸入進行自動補全,然後按,安裝也很簡單:

git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
vim ~/.zshrc
# 加入插件列表
plugins=(
git
zsh-autosuggestions
)
source ~/.zshrc

該插件已經在第一個動圖有演示,這裡不再重複

autoswitch_virtualenv

這個插件對於Python開發者來說可以算是神器了,在實際開發過程中,基本上一個Python項目就對應了一個新的虛擬環境,如果你使用pipenv,當你需要進入項目的虛擬環境時候,就需要執行pipenv shell命令,安裝autoswitch_virtualenv後,該插件可以自動地完成這些事情:

git clone "https://github.com/MichaelAquilina/zsh-autoswitch-virtualenv.git" "$ZSH_CUSTOM/plugins/autoswitch_virtualenv"

vim ~/.zshrc
# 加入插件列表
plugins=(
git
zsh-autosuggestions
autoswitch_virtualenv
)
source ~/.zshrc

該插件已經在第一個動圖裡面體現的很明顯,這裡不再重複演示

zsh-syntax-highlighting

這個插件的主要作用就是在提高顏值(高亮你的zsh可用命令),安裝如下:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
vim ~/.zshrc
# 加入插件列表
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
)
source ~/.zshrc

效果如下圖:

總結

程序員在開發過程中,效率快慢是個不可忽略的因素,提高效率,能一定程度上節省開發時間,從而形成一系列的正向反饋,何樂而不為?


推薦閱讀:
相關文章