使用 tmux和Git 自定義我的 Linux 終端
導讀:設置你的控制台,以便你能知道身處哪個目錄和該做什麼
本文字數:1333,閱讀時長大約:2分鐘
https://linux.cn/article-12450-1.html
作者:Moshe Zadka
譯者:geekpi
我使用 GNOME 終端,主要是因為它是我的發行版的默認設置。但是我終端內遠非「默認值」。在我開始解釋如何自定義它之前,它現在是這個樣子:
Moshe Zadka"s terminal
從底部開始
我使用終端多路復用技術tmux管理我的終端體驗。
在上圖的底部,你可以看到我的綠色 tmux 欄。底部的[3]表示它是第三個終端:每個終端都運行自己的 tmux 會話。(我創建了一個新會話來放大字體,這樣可在截圖中更容易看到;這是它與其他終端之間的唯一區別。)
提示符看起來也很有趣,對吧?在提示符中塞入了太多信息後,我喜歡插上一個換行符,這樣一來,如果我想即興進行 shell 編程或編寫一個傳遞了五次的管道,也不會超出屏幕界限。這樣做的代價是簡單的命令序列(新建、複製、移動)會更快地滾動出我的屏幕。
行末是阿列夫零(Aleph null)字元,它是最小的無窮基數。我希望內容行的結束很明顯,並且當我意識到「阿列夫」和下標 0 都是 Unicode 字元時,我無法抗拒使用「阿列夫零」作為提示符的一部分的誘惑。(數學極客們,團結起來!)
在此之前是我的用戶名。由於我在不同用戶名的多台計算機上使用相同的點文件(保存在 Git 中),因此這個還算有用。
在我的用戶名之前,是我所在目錄的最後一部分。完整路徑通常太長且無用,而當前目錄對於像我這樣的經常忘記在做什麼人來說是很有用的。在此之前是機器的名稱。我所有的機器都以我喜歡的電視節目命名。我的舊筆記本是mcgyver。
提示符中的第一位是我最喜歡的:一個讓我知道目錄的 Git 狀態的字母。如果目錄為「不在 Git 中」,那麼是G。如果目錄為「沒有問題」(OK),且無需任何操作,那麼是K。如果有 Git 未知的文件需要添加或忽略,那麼是!。如果需要提交,那麼是C。如果沒有上游,那麼是U。如果存在上游,但我沒有推送,那麼是P。該方案不是基於當前狀態,而是描述了我要做的下一個動作。(要回顧 Git 術語,請閱讀本文。)
終端功能是通過一個有趣的 Python 程序完成的。它運行python -m howsit(在我把howsit安裝在虛擬環境中之後)。
你可以在上圖中看到渲染效果,但是為了完整起見,這是我的PS1:
[$(~/.virtualenvs/howsit/bin/python -m howsit)]\h:\W \u ??
$
via:https://opensource.com/article/20/7/tmux-git
作者:Moshe Zadka選題:lujun9972譯者:geekpi校對:wxy
本文由LCTT原創編譯,Linux中國榮譽推出