Linux中國

用 Starship 定製你的 shell 提示符

沒有什麼比我忘記在我的 Git 倉庫中 git add 文件更讓我惱火的了。我在本地測試,提交,然後推送,卻發現在持續集成階段失敗了。更糟糕的是,我在 main 分支而不是特性分支上,並不小心推送到它。最好的情況是,因為分支保護而失敗,我需要做一些操作才能把改動推送到一個分支。更糟糕的是,我沒有正確配置分支保護,不小心直接推送到了 main 分支。

如果這些信息能在提示中直接獲得,那不是很好嗎?

提示符中甚至還有更多有用的信息。雖然 Python 虛擬環境的名稱在提示符中,但虛擬環境的 Python 版本卻不在提示符中。

可以仔細地將 PS1 環境變數配置為所有相關的信息。這可能會變得很長,很煩人,而且調試起來並不簡單。

這就是 Starship 被設計來解決的問題。

安裝 Starship

Starship 的初始設置只需要兩個步驟:安裝並配置你的 shell。安裝可以很簡單:

$ curl -fsSL https://starship.rs/install.sh

閱讀安裝腳本,確保你理解它的作用,然後讓它可執行並運行它:

$ chmod +x install.sh
$ ./install.sh

還有其他的安裝方法,在其網站上有介紹。你可以在構建鏡像的步驟中設置虛擬機或容器。

配置 Starship

下一步是配置你的 shell 來使用它。要一次性嘗試,假設 shell 是 bashzsh,請運行以下命令:

$ eval "$(starship init $(basename $SHELL))"

你的提示符立即改變:

localhost in myproject on  master
>

如果你喜歡你所看到的,把 eval "$(starship init $(basename $SHELL))" 添加到你的 shell 的 rc 文件中,使其永久化。

自定義 Starship

默認安裝假定你可以安裝「電腦迷字體」,例如 Fantasque Sans Mono。 特別是,你需要一種帶有來自 Unicode 的「私有實現」部分的字形的字體。

這在控制終端時非常有效,但有時,終端的配置並不容易。例如,當使用一些瀏覽器內的 shell 抽象時,配置瀏覽器的字體可能是不太容易的。

該碼位的最大用戶是 Git 集成,它使用一個特殊的自定義符號來表示「分支」。禁用它可以通過使用文件 ~/.config/starship.toml 來配置 starship.rs

禁用分支符號是通過配置 git_branch 部分的 format 變數完成的:

[git_branch]
format = "on [$branch]($style) "

starship.rs 的一個好處是,改變配置會立即生效。保存文件,按下回車,看看字體是否符合預期。

還可以配置提示符中不同部分的顏色。例如,如果 Python 部分的亮黃色在白色背景上有點難看,你可以配置為藍色:

[python]
style = "blue bold"

許多語言都有配置支持,包括 Go、.NET 和 JavaScript。還支持顯示命令的持續時間(只針對耗時超過閾值的命令)等。

控制提示符

控制你的提示符,讓你需要的所有信息觸手可及。安裝 Starship,讓它為你工作,並享受吧!

via: https://opensource.com/article/22/2/customize-prompt-starship

作者:Moshe Zadka 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國

    Linux中國

    DevOps 將去向何方?

    微軟、谷歌、亞馬遜、IBM 和甲骨文如今都在關注云上的 DevOps。這些大公司正在給企業提供 IT 自動化的服務。然而,DevOps 仍然在持續的演進中。DevSecOps、AIOps 和 NoOps 正在成為下一個流行詞。