用 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 是 bash
或 zsh
,請運行以下命令:
$ 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive