Linux奇技淫巧:用 Rust 編寫的極簡(jiǎn)且快速的 Shell 提示符
多年來(lái),我嘗試了各種花哨的 shell 提示,但我總是回到普通的默認(rèn)用戶名linuxmi@linuxmi,因?yàn)槲野l(fā)現(xiàn)其他的都太分散注意力和混亂,或者太慢了,不符合我的口味。
直到我遇到Starship,一個(gè)跨shell/跨平臺(tái)的提示符。輕量級(jí)、反應(yīng)迅速,可定制的高顏值終端!特點(diǎn)是很快 - 真的真的非常快,可定制各種各樣的提示符。適用于任何 Shell、任何操作系統(tǒng)。一目了然地顯示相關(guān)信息。支持所有你喜歡的工具。安裝快速 - 幾分鐘就可上手。
現(xiàn)在,讓我詳細(xì)介紹Starship提示及其功能。
Starship 使用 Rust 編寫,提示應(yīng)該可以在最常見(jiàn)的操作系統(tǒng)上使用最常見(jiàn)的 shell(包括 Bash、Fish、Zsh 的配置說(shuō)明),具有:
- 利用 Powerline 字體將各種信息(和提示)表示為符號(hào)
- 當(dāng)最后一個(gè)命令以非零代碼存在時(shí),提示變?yōu)榧t色
- 如果用戶名與登錄用戶不同,則僅顯示用戶名(顯然對(duì)于 root/ssh 會(huì)話)
- 與 Git 集成(顯示當(dāng)前 Git 分支和存儲(chǔ)庫(kù)狀態(tài)),并可以顯示 Node.js、Rust、Ruby、Python 和 Go 版本
- 顯示當(dāng)前目錄下的cargo (Rust)、npm (Node.js) 和poem (Python) 的包版本
- 顯示當(dāng)前電池電量和狀態(tài)
- Nix-shell 環(huán)境檢測(cè)
- 顯示執(zhí)行上一條命令所花費(fèi)的時(shí)間(如果該命令超過(guò)了可配置的閾值)
- 有一個(gè)在后臺(tái)運(yùn)行的作業(yè)的指示器
當(dāng)前的配置選項(xiàng)包括:
- 設(shè)置提示順序
- 配置 Starship 顯示運(yùn)行命令所需的時(shí)間
- 顯示時(shí)間(默認(rèn)禁用)以及設(shè)置時(shí)間格式的選項(xiàng)
- 設(shè)置顯示電池電量的方式
- 設(shè)置 Git 分支、狀態(tài)和狀態(tài)的顯示方式
- 更多的
閱讀有關(guān)配置 Starship 的更多信息,并查看其高級(jí)配置。
安裝:
安裝 Starship 需要下載 bash 腳本,然后以 root 訪問(wèn)權(quán)限運(yùn)行該腳本。
如果您對(duì)此不滿意,可以在此處使用 snap:
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo snap install starship
- [sudo] linuxmi 的密碼:
- starship 0.53.0 from Matan Kushner (matankushner) installed
需要Powerline字體,使用以下命令安裝它:
Debian / Ubuntu
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get install fonts-powerline
Fedora
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo dnf install powerline-fonts
對(duì)于FiraCode字體,請(qǐng)通過(guò)以下方式安裝:
Ubuntu
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install fonts-firacode
Arch Linux / Manjaro
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo pacman -S otf-fira-code
Gentoo
- linuxmi@linuxmi:~/www.linuxmi.com$ emerge -av media-fonts/fira-code
Fedora
- linuxmi@linuxmi:~/www.linuxmi.com$ dnf copr enable evana/fira-code-fonts
- linuxmi@linuxmi:~/www.linuxmi.com$ dnf install fira-code-fonts
檢查已安裝的版本:
- ❯ starship --version
- starship 0.53.0
- tag:v0.53.0
- commit_hash:7459571a
- build_time:2021-05-02 11:39:02
- build_env:rustc 1.51.0 (2fd73fabe 2021-03-23),stable-x86_64-unknown-linux-gnu (default)
配置Zsh/Bash/Fish Shell
將以下行添加到shell配置文件中:
Bash
- linuxmi@linuxmi:~/www.linuxmi.com$ vim ~/.bashrc
如屏幕截圖所示,我們需要在bashrc用戶文件的末尾添加以下行:
- eval "$(starship init bash)"
Zsh
- linuxmi@linuxmi:~/www.linuxmi.com$ vim ~/.zshrc
- eval "$(starship init zsh)"
Fish
- linuxmi@linuxmi:~/www.linuxmi.com$ vim ~/.config/fish/config.fish
- eval (starship init fish)
至此,已安裝Starship提示并正常工作。
設(shè)置完成后,您可以繼續(xù)自定義和配置提示。
配置 Starship Shell 提示:基礎(chǔ)知識(shí)
首先,您只需要在 .config 目錄中創(chuàng)建一個(gè)配置文件(TOML 文件)。如果已經(jīng)擁有一個(gè),則只需導(dǎo)航到該目錄并創(chuàng)建配置文件即可。
以下是您必須鍵入以創(chuàng)建目錄和配置文件的內(nèi)容:
- linuxmi@linuxmi:~/www.linuxmi.com$ mkdir -p ~/.config && touch ~/.config/starship.toml
我的一個(gè)效果圖如下:
從現(xiàn)在開(kāi)始,如果你想探索你喜歡的東西,應(yīng)該在他們的官方網(wǎng)站及其GitHub 頁(yè)面中探索更多信息。