瞥見替代命令列環境或“固執己見的提示系統”(如液體提示和oh-my-posh)的世界。
翻譯自 unix shell 可以改進嗎? hell yes!(Fosdem 24)作者:Joab Jackson。 *來自 2024 年 2 月 3 日 FOSDEM 演講“液體提示:是的,我們可以完全重新思考 shell 提示的設計”的注釋。 (AW1.在fosdem索引中。126) Nojhan(全名)是 Liquidprompt 替代 shell 的視覺設計師和建立者,這是乙個“bash 和 zsh 的自適應提示”,承諾“在需要時提供帶有有用資訊的精美顯示提示”。儘管 GUI 已經取得了幾十年的進步,但大多數管理員和許多開發人員仍然通過某種 shell 使用點陣命令列介面。 當您了解這些命令時,使用 shell 整合不同的任務會更快、更輕鬆。 在他的 Fosdem 演講中,Nojhan 指出,今天的命令直譯器 shell(從頭到尾使用最廣泛的是 bash)存在可用性問題。 它們不是很人性化:沒有人體工程學,沒有風水,只有無窮無盡的小 ascii 文字行。 這些 shell 並不是為了突出使用者興趣的重要部分而設計的,正如 Nojhan 指出的那樣,它們也沒有“遵循工作的狀態”。
為什麼很難在無差別的文字螢幕上找到提示?
碰巧的是,有大量的替代外殼或“固執己見的提示系統”,所有這些系統都有創新的設計來克服這些限制。 Nojhan不僅指出了他自己的LiquidPrompt,還指出了其他一些,每個名字都比上乙個更好:Starship,Oh-My-Posh,Powerline,PowerLevel10K和Pure。 Nojhan在一篇詳盡的部落格文章中比較了上述所有內容。 通過這種大量的分析,Nojhan得出結論,LiquidPrompt是所有提示系統中最好的(儘管他承認每個系統都有其優點,並且所有系統都應該考慮特定的使用者需求,這是理所當然的)。
但是,無論這些發明多麼具有創新性,是否有任何發明足以吸引管理員和編碼人員擺脫他們值得信賴的(儘管是ted的)單行外殼?
ohmyposh.dev
“乙個好的提示應該是重點的,”Nojhan說。 “它應該突出顯示對使用者有用的狀態。 您需要知道工具的版本號嗎? 也許不是。 有些州的變化比其他州大,因此無需重複。 這完全取決於您需要什麼並且應該是可定義的。
某些疊加層(例如 oh-my-posh)使用顏色來區分資料的不同部分。 Nojhan嘲笑它們是“迷幻的彩虹”,並指出它們對色盲患者毫無用處。
但與此同時,您希望避免“文字過載”或螢幕上的文字過多。
基於 bash 的 LiquidPrompt 使用三行方法。 它只使用四種顏色:黑色、白色和兩種對比色可供選擇,對於色盲的人來說是可以辨別的。
“重要資訊應該是可見的” - Nojhan。以下是預設命令列:
以下是“電力線”主題:
三行命令列當然很有趣,但真正吸引人的是你可以在每行中輸入什麼。 您可以嵌入各種整潔的小部件,包括:當前路徑:顯示您的位置並“智慧型縮短路徑”。
上次執行命令的時間
電池電量
使用者名稱
主機名
退出**:如果最後乙個命令是錯誤,則顯示為正在退出。
作業:後台、休眠和分離作業的計數器。
時間
可用記憶體磁碟空間
遠端 shell
wifi訊號強度。
它可以嵌入 git 和其他儲存庫的版本控制資訊,顯示當前分支標記、當前狀態和當前提交編輯的統計資訊。 在演示中,nojham 顯示了一行,顯示待處理的 git 命令 git st 的狀態。 像往常一樣,命令本身位於行的最右側。
但在提示之前,該行還顯示了對主分支的更改數量 - 68 次新增和 189 次刪除。 它還可以通過巧妙地使用行、陰影和指標來警告使用者其他可能發生衝突的待處理提交。
LiquidPrompt 可以針對特定環境進行配置,包括 AWS、Kubernetes 和 Terraform。 它甚至為 PythonRubyPerldocker 提供了自定義的虛擬環境,因此需要記住許多功能! 因此,只有時間才能證明現代編碼人員的大腦是否準備好使用 tres hombre 命令列。