引言
筆者已經使用zsh一年多了,發現這個東東的功能太強大了。接下來,給大家推薦一下。
以下是oh-my-zsh部分功能
- 命令驗證
- 在所有正在運行的shell中共享命令歷史記錄
- 拼寫糾正
- 主題提示(Agnoster,RobbyRussell,......)
- 目錄歷史
- 通過zshenv,zprofile,zshrc,zlogin和zlogout啟動/關閉腳本
- 強大的自動完成功能。您可以使用TAB鍵瀏覽不同的選項,然后使用enter鍵選擇正確的文件夾。例如Bash會打印所有選項。
- 添加插件:例如Git插件包含大量有用的Git別名。 此插件顯示活動分支並提供有關Git狀態的可視反饋:
- 綠色:如果沒有發生變化的分支
- 黃色:未跟蹤文件
- 帶有加號圖標的黃色:准備提交的文件
安裝指南
我在我的Linux Mint上執行此安裝指南。為了向您展示Oh-My-Zsh的基本功能,我將安裝Git插件(Git-core)。此插件提供有關項目的Git狀態的可視反饋。
- 安裝必備軟件包
$ sudo apt install git-core zsh
- 根據官方腳本安裝Oh-My-Zsh
# 通過curl sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
#通過wget sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
- 安裝Powerline字體以使用圖標為CLI增添趣味
$ sudo apt install fonts-powerline
- 將主題從'robbyrussell'改為'agnoster'為傳奇的Oh-My-Zsh主題
$ vim ~/.zshrc
想要看到修改后的主題結果,執行下面命令
$ source ~/.zshrc
- 現在的主題提示信息太長了,我們去掉用戶名和主機名
- 修改默認shell,這樣下次打開Terminal的時候就默認使用
zsh
而不是bash
$ chsh -s $(which zsh)
安裝插件
所有插件都列在Plugins,自定義插件可以安裝在〜/.oh-my-zsh/custom/plugins
中。要使用插件,只需將其添加到〜/.zshrc
文件中的插件列表即可。明智地添加,因為太多的插件會減慢shell的啟動速度。插件之間使用空格分割。
colored-man-pages
在這個例子中,我安裝了一個有用的插件,為你的手冊頁提供顏色突出顯。
zsh-syntax-highlighting
另一個很棒的插件是shell的語法高亮。除此之外,此插件還能夠驗證命令的正確性
# 安裝 cd /home/shellhub/.oh-my-zsh/custom/plugins git clone https://github.com/zsh-users/zsh-syntax-highlighting
# 添加到.zshrc配置文件中的plugins中 vim ~/.zshrc # 例子 plugins=( git autojump colored-man-pages zsh-syntax-highlighting zsh-autosuggestions )
zsh-autosuggestions
您還可以使用zsh-autosuggestions來完成命令。它根據您的命令歷史記錄建議命令。很有用!要選擇建議的命令,請按向右箭頭鍵。
安裝方式和zsh-syntax-highlighting
一樣
$ git clone https://github.com/zsh-users/zsh-autosuggestions
然后添加zsh-syntax-highlighting到插件列表中(vim ~/.zshrc
)
autojump
autojump可以實現快速跳轉到目標目錄,如下所示
然后別忘記添加到~/.zshrc
配置文件中
vim ~/.zshrc
關注一下別名
目錄歷史
Oh-My-Zsh會自動記住您訪問過的最后20個目錄。您可以使用dirs -v
或d
來按時間順序列出歷史記錄。
您可以使用cd +1
轉到上一個目錄,依此類推,如下圖我們還可以直接輸入數字進行跳轉到對應的目錄
其他有趣的別名
/ -> cd / ~ -> cd ~ .. -> cd .. ... -> cd ../.. .... -> cd ../../..
我相信你已經找到規律了吧
take test_folder # 創建一個文件夾並進入這個文件夾,效果和下面類似 mkdir test_folder && cd test_folder take folder1/folder2/folder3 x # 解壓tar, bz2, rar, gz, tbz2, tgz, zip, Z, 7z各種壓縮文件
## 更新和卸載
更新
upgrade_oh_my_zsh
卸載
uninstall_oh_my_zsh
更多學習資源
-
oh-my-zsh:https://ohmyz.sh/
-
插件: https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins
-
主題: https://github.com/robbyrussell/oh-my-zsh/tree/master/themes/
總結
Oh-My-Zsh
太爽了
參考文檔:
1 https://github.com/shellhub/blog/issues/25