Starship:跨 shell 的可定製的提示符
雖然我已經介紹了一些幫助你 自定義終端外觀 的技巧,但我也發現了一些有趣的跨 shell 提示符的建議。
Starship:輕鬆地調整你的 Linux Shell 提示符
Starship 是一個用 Rust 編寫的開源項目,它可以幫助你建立一個精簡、快速、可定製的 shell 提示符。
無論你是使用 bash、fish、還是 Windows 上的 PowerShell,抑或其他 shell,你都可以利用Starship 來定製外觀。
請注意,你必須了解它的 官方文檔 才能對所有你喜歡的東西進行高級配置,但在這裡,我將包括一個簡單的示例配置,以有一個良好的開端,以及一些關於 Startship 的關鍵信息。
Startship 專註於為你提供一個精簡的、快速的、有用的默認 shell 提示符。它甚至會記錄並顯示執行一個命令所需的時間。例如,這裡有一張截圖:
不僅如此,根據自己的喜好定製提示符也相當簡單。下面是一張官方 GIF,展示了它的操作:
讓我幫你設置一下。我是在 Ubuntu 上使用 bash shell 來測試的。你可以參考我提到的步驟,或者你可以看看 官方安裝說明,以獲得在你的系統上安裝它的更多選擇。
Starship 的亮點
- 跨平台
- 跨 shell 支持
- 能夠添加自定義命令
- 定製 git 體驗
- 定製使用特定編程語言時的體驗
- 輕鬆定製提示符的每一個方面,而不會對性能造成實質影響
在 Linux 上安裝 Starship
安裝 Starship 需要下載一個 bash 腳本,然後用 root 許可權運行該腳本。
如果你不習慣這樣做,你可以使用 snap。
sudo snap install starship
注意:你需要安裝 Nerd 字體 才能獲得完整的體驗。
要開始使用,請確保你安裝了 curl。你可以通過鍵入如下命令來輕鬆安裝它:
sudo apt install curl
完成後,輸入以下內容安裝 Starship:
curl -fsSL https://starship.rs/install.sh | bash
這應該會以 root 身份將 Starship 安裝到 usr/local/bin
。你可能會被提示輸入密碼。看起來如下:
在 bash 中添加 Starship
如截圖所示,你會在終端本身得到設置的指令。在這裡,我們需要在 .bashrc
用戶文件的末尾添加以下一行:
eval "$(starship init bash)"
要想輕鬆添加,只需鍵入:
nano .bashrc
然後,通過向下滾動導航到文件的末尾,並在文件末尾添加如下圖所示的行:
完成後,只需重啟終端或重啟會話即可看到一個精簡的提示符。對於你的 shell 來說,它可能看起來有點不同,但默認情況下應該是一樣的。
設置好後,你就可以繼續自定義和配置提示符了。讓我給你看一個我做的配置示例:
配置 Starship 提示符:基礎
開始你只需要在 .config
目錄下製作一個配置文件(TOML文件)。如果你已經有了這個目錄,直接導航到該目錄並創建配置文件。
下面是創建目錄和配置文件時需要輸入的內容:
mkdir -p ~/.config && touch ~/.config/starship.toml
請注意,這是一個隱藏目錄。所以,當你試圖使用文件管理器從主目錄訪問它時,請確保在繼續之前 啟用查看隱藏文件。
接下來如果你想探索一些你喜歡的東西,你應該參考配置文檔。
舉個例子,我配置了一個簡單的自定義提示,看起來像這樣:
為了實現這個目標,我的配置文件是這樣的:
根據他們的官方文檔,這是一個基本的自定義格式。但是,如果你不想要自定義格式,只是想用一種顏色或不同的符號來自定義默認的提示,那就會像這樣:
上述定製的配置文件是這樣的:
當然,這不是我能做出的最好看的提示符,但我希望你能理解其配置方式。
你可以通過包括圖標或表情符來定製目錄的外觀,你可以調整變數、格式化字元串、顯示 git 提交,或者根據使用特定編程語言而調整。
不僅如此,你還可以創建在你的 shell 中使用的自定義命令,讓事情變得更簡單或舒適。
你可以在他們的 官方網站 和它的 GitHub 頁面 中探索更多的信息。
結論
如果你只是想做一些小的調整,這文檔可能會太複雜了。但是,即使如此,它也可以讓你用很少的努力實現一個自定義的提示符或精簡的提示符,你可以應用於任何普通的 shell 和你正在使用的系統。
總的來說,我不認為它非常有用,但有幾個讀者建議使用它,看來人們確實喜歡它。我很想看看你是如何 自定義 Linux 終端 以適應不同的使用方式。
歡迎在下面的評論中分享你的看法,如果你喜歡的話。
via: https://itsfoss.com/starship/
作者:Ankush Das 選題:lujun9972 譯者:wxy 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive