在 Fedora 上優化 bash 或 zsh

2019-11-10 23:36:00

本文將向你展示如何在 Fedora 的命令列直譯器(CLI)Shell 中設定一些強大的工具。如果使用bash(預設)或zsh,Fedora 可讓你輕鬆設定這些工具。

前置需求

這需要一些已安裝的軟體包。在 Fedora 工作站上,執行以下命令:

sudo dnf install git wget curl ruby ruby-devel zsh util-linux-user redhat-rpm-config gcc gcc-c++ make

在 Silverblue 上執行:

sudo rpm-ostree install git wget curl ruby ruby-devel zsh util-linux-user redhat-rpm-config gcc gcc-c++ make

注意:在 Silverblue 上,你需要重新啟動才能繼續。

字型

你可以通過安裝新字型使終端煥然一新。為什麼不使用可以同時顯示字元和圖示的字型呢?

Nerd-Fonts

開啟一個新終端,然後鍵入以下命令:

git clone https://github.com/ryanoasis/nerd-fonts ~/.nerd-fontscd .nerd-fontssudo ./install.sh

Awesome-Fonts

在工作站上,使用以下命令進行安裝:

sudo dnf fontawesome-fonts

在 Silverblue 上鍵入:

sudo rpm-ostree install fontawesome-fonts

Powerline

Powerline 是 vim 的狀態行外掛,並為其他幾個應用程式也提供了狀態行和提示符,包括 bash、zsh、tmus、i3、Awesome、IPython 和 Qtile。你也可以在官方文件站點上找到更多資訊。

安裝

要在 Fedora 工作站上安裝 Powerline 實用程式,請開啟一個新終端並執行:

sudo dnf install powerline vim-powerline tmux-powerline powerline-fonts

在 Silverblue 上,命令更改為:

sudo rpm-ostree install powerline vim-powerline tmux-powerline powerline-fonts

注意:在 Silverblue 上,你需要重新啟動才能繼續。

啟用 Powerline

要使 Powerline 預設處於活動狀態,請將下面的程式碼放在 ~/.bashrc 檔案的末尾:

if [ -f `which powerline-daemon` ]; then  powerline-daemon -q  POWERLINE_BASH_CONTINUATION=1  POWERLINE_BASH_SELECT=1  . /usr/share/powerline/bash/powerline.shfi

最後,關閉終端並開啟一個新終端。它看起來像這樣:

Oh-My-Zsh

Oh-My-Zsh 是用於管理 Zsh 設定的框架。它捆綁了有用的功能、外掛和主題。要了解如何將 Zsh 設定為預設外殼程式,請參見這篇文章

安裝

在終端中輸入:

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

或者,你也可以輸入以下內容:

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

最後,你將看到如下所示的終端:

恭喜,Oh-my-zsh 已安裝成功。

主題

安裝後,你可以選擇主題。我喜歡使用 powerlevel10k。優點之一是它比 powerlevel9k 主題快 100 倍。要安裝它,請執行以下命令列:

git clone https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/themes/powerlevel10k

並在你的 ~/.zshrc 檔案設定 ZSH_THEME

ZSH_THEME=powerlevel10k/powerlevel10k

關閉終端。再次開啟終端時,powerlevel10k 設定向導將詢問你幾個問題以正確設定提示符。

完成 powerline10k 設定向導後,你的提示符將如下所示:

如果你不喜歡它。你可以隨時使用 p10k configure 命令來執行 powerline10k 嚮導。

啟用外掛

外掛儲存在 .oh-my-zsh/plugins 資料夾中。要啟用外掛,你需要編輯 ~/.zshrc 檔案。安裝外掛意味著你建立了一系列執行特定功能的別名或快捷方式。

例如,要啟用 firewalld 和 git 外掛,請首先編輯 ~/.zshrc

plugins=(firewalld git)

注意:使用空格分隔外掛名稱列表。

然後重新載入設定:

source ~/.zshrc

要檢視建立的別名,請使用以下命令:

alias | grep firewall

更多設定

我建議安裝語法高亮和語法自動建議外掛。

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

將它們新增到檔案 ~/.zshrc 的外掛列表中。

plugins=( [plugins...] zsh-syntax-highlighting zsh-autosuggestions)

重新載入設定。

source ~/.zshrc

檢視結果:

彩色的資料夾和圖示

colorls 是一個 ruby gem,可使用顏色和超棒的字型圖示美化終端的 ls 命令。你可以存取官方網站以獲取更多資訊。

因為它是個 ruby gem,所以請按照以下簡單步驟操作:

sudo gem install colorls

要保持最新狀態,只需執行以下操作:

sudo gem update colorls

為防止每次輸入 colorls,你可以在 ~/.bashrc~/.zshrc 中建立別名。

alias ll='colorls -lA --sd --gs --group-directories-first'alias ls='colorls --group-directories-first'

另外,你可以為 colorls 的選項啟用製表符補完功能,只需在 shell 設定末尾輸入以下行:

source $(dirname ($gem which colorls))/tab_complete.sh

重新載入並檢視會發生什麼: