ubuntu 安裝 zsh 和常用插件
爲什麼要寫這文章?因爲我踩到了人家沒遇到的坑!
第一部分,先安裝吧
# 安裝zsh。這是基礎
sudo apt install zsh
# 將終端設置爲 zsh
chsh -s /bin/zsh
也可以通過修改 /etc/passwd
文件查看
注意看我的
jio
就是當前等你的用戶名的哪一行,最後用的是bin/zsh
。這就說明已經改成功了。
passwd 的第一行是root
用戶。
所以看自己的需求來改,我的是個人電腦,所以我改常用的jio
賬號就行
改完了註銷/重啓下電腦才生效。這裏不要偷懶,我在這裏徘徊了很久。。。
安裝oh-my-zsh
重啓完後打開終端,使用
# 查看當前終端類型
echo $SHELL
# 看到這樣的輸出就對了。
$ echo $SHELL
/bin/zsh
這時候的終端非常的單調。那麼下面就開始安裝 oh-my-zsh
#方式1
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
# 方式2
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh
#2種方式都一樣,我用方式2一直請求不到內容,可能方式一會快一點。任君選擇。也可以選擇到github把這個install.sh下載下來自己執行
更換字體
oh-my-zsh 對字體有一定的要求,需要等寬字體
,不然部分字符可能顯示的是亂碼,而我用的是Fira Code
。還挺好的,開發中也一直在用,鏈接的話可以上github找找,或者私聊我給你字體的包(我找不到鏈接了)。
豐富的插件
git
git我就不多說了吧。程序員都懂
sudo apt-get install git
已經裝過的就不管他了
autojump
第一個登場的就是autojump
插件
功能大概就是這樣。你cd過的目錄,最後只需要用 j 對應的目錄
就可以直接跳過去了,所以這個插件你用的越久,他就越智能
#安裝
sudo apt-get install autojump
# 然後編輯 zsh的配置文件
vim ~/.zshrc
# 找到 `plugins` .默認應該是 plugins=(git) 改爲
plugins=(git autojump)
# 保存,執行文件
source ~/.zshrc
坑1:
有可能這樣之後,還是不能使用這個插件,這樣的話使用下面這句命令:
echo "source /usr/share/autojump/autojump.zsh" >> ~/.zshrc && source ~/.zshrc'
自動補全 zsh-autosuggestions
這是個神器,也是坑好多的地方!
他會記錄你以前用過的命令,並且會給出相應的提示,像下圖的淺灰色字體就是自動的提示,按下右箭頭就可以把這一串路徑打完,節省了很多時間
# 先安裝,按照文檔的來是這樣的
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# 然後也是改配置文件,把這個插件添加進去
vim ~/.zshrc
# 找到 `plugins` .默認應該是 plugins=(git) 改爲
plugins=(git autojump zsh-autosuggestions)
# 保存,執行文件
source ~/.zshrc
如果運行沒輸出(報錯),那恭喜你成功了。
坑1:如果提示說某個文件找不到:
/home/jio/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh:source:1: 沒有那文件或者目錄/home/jio/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh^M
可是這個文件的確是存在的,那就是因爲git的換行符的問題!
因爲window上的換行符和linux的不太一樣,所以纔會導致這個問題
解決也很簡單(jio是我本地電腦的名稱,你們根據自己的報錯來修改):
vim /home/jio/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh
# 打開編輯器後
`esc` 輸入 `:set ff=unix` 。然後保存退出。這樣就能修改文件的換行格式了
# 再次執行。應該就可以成功了
source ~/.zshrc
命令語法高亮 zsh-syntax-highlighting
# 安裝一樣很簡單
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# 然後也是改配置文件,把這個插件添加進去
vim ~/.zshrc
# 找到 `plugins` .默認應該是 plugins=(git) 改爲
plugins=(git autojump zsh-autosuggestions zsh-syntax-highlighting)
# 保存,執行文件
source ~/.zshrc
坑的地方。估計也是報文件找不到~
解決方式我就不多寫一次了,詳細可以看上面的 zsh-autosuggestions 的坑。通常看到結尾是
^M
的報錯,都是因爲文件格式的問題,影響了換行符
這裏還隱藏一個更大的問題。如果關閉終端重新打開會有幾行報錯,那仔細看完下面的在進行操作!!!
關閉終端,重新打開。然後還是看到這個插件提示有幾個文件執行到 20多 30行的時候執行有誤 ^M
。emmm…報錯都解決了就沒得貼圖了。這時候不要急着改!!因爲一開始報錯只是報了2個文件,如果你只把2個文件的格式改了,那會引發後面好多文件的報錯,到時候終端直接都運行不了。
這時候因爲插件的文件實在太多,那我們只能通過腳本來實現批量吧 CRLF
轉換爲 LF
的格式。
這裏的腳本是直接寫到了指定的目錄去了。和上面說的其實一個道理。你們也是改成對應的你們自己的文件路徑
#!/bin/bash
for file in `find /home/jio/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/`
do
vi +':w ++ff=unix' +':q' ${file}
done
如果你不幸,終端一直報錯
那其實還可以用vscode,修改一下默認終端,找到其他類型的終端操作完在切換回來
ubuntu 安裝 zch 和插件就完成了,其實最多的坑還是下載下來的插件的換行符的問題。