Linux奇技淫巧:用 Rust 編寫的極簡且快速的 Shell 提示符
多年來,我嘗試了各種花哨的 shell 提示,但我總是回到普通的默認用戶名linuxmi@linuxmi,因為我發(fā)現(xiàn)其他的都太分散注意力和混亂,或者太慢了,不符合我的口味。
直到我遇到Starship,一個跨shell/跨平臺的提示符。輕量級、反應(yīng)迅速,可定制的高顏值終端!特點是很快 - 真的真的非???,可定制各種各樣的提示符。適用于任何 Shell、任何操作系統(tǒng)。一目了然地顯示相關(guān)信息。支持所有你喜歡的工具。安裝快速 - 幾分鐘就可上手。
現(xiàn)在,讓我詳細介紹Starship提示及其功能。
Starship 使用 Rust 編寫,提示應(yīng)該可以在最常見的操作系統(tǒng)上使用最常見的 shell(包括 Bash、Fish、Zsh 的配置說明),具有:
- 利用 Powerline 字體將各種信息(和提示)表示為符號
- 當(dāng)最后一個命令以非零代碼存在時,提示變?yōu)榧t色
- 如果用戶名與登錄用戶不同,則僅顯示用戶名(顯然對于 root/ssh 會話)
- 與 Git 集成(顯示當(dāng)前 Git 分支和存儲庫狀態(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)境檢測
- 顯示執(zhí)行上一條命令所花費的時間(如果該命令超過了可配置的閾值)
- 有一個在后臺運行的作業(yè)的指示器
當(dāng)前的配置選項包括:
- 設(shè)置提示順序
- 配置 Starship 顯示運行命令所需的時間
- 顯示時間(默認禁用)以及設(shè)置時間格式的選項
- 設(shè)置顯示電池電量的方式
- 設(shè)置 Git 分支、狀態(tài)和狀態(tài)的顯示方式
- 更多的
閱讀有關(guān)配置 Starship 的更多信息,并查看其高級配置。
安裝:
安裝 Starship 需要下載 bash 腳本,然后以 root 訪問權(quán)限運行該腳本。
如果您對此不滿意,可以在此處使用 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
對于FiraCode字體,請通過以下方式安裝:
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ǔ)知識
首先,您只需要在 .config 目錄中創(chuàng)建一個配置文件(TOML 文件)。如果已經(jīng)擁有一個,則只需導(dǎo)航到該目錄并創(chuàng)建配置文件即可。
以下是您必須鍵入以創(chuàng)建目錄和配置文件的內(nèi)容:
- linuxmi@linuxmi:~/www.linuxmi.com$ mkdir -p ~/.config && touch ~/.config/starship.toml
我的一個效果圖如下:
從現(xiàn)在開始,如果你想探索你喜歡的東西,應(yīng)該在他們的官方網(wǎng)站及其GitHub 頁面中探索更多信息。