使用 tmux 和 Git 自定义我的 Linux 终端
创始人
2024-03-02 05:33:30
0

设置你的控制台,以便你能知道身处哪个目录和该做什么

我使用 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中国 荣誉推出

相关内容

武汉:到2027年打造4款...
钛媒体App 1月15日消息,武汉市人民政府办公厅发布关于印发武汉...
2026-01-16 06:45:22
光弘科技:在AI相关领域与...
有投资者在互动平台向光弘科技提问:“请问公司在AI应用领域,有哪些...
2026-01-07 06:17:46
“全球科技春晚”上演AI终...
作者 | 黄昱 编辑 | 周智宇 ChatGPT掀起AI大模型浪潮...
2026-01-06 10:18:10
AI眼镜距离“随身终端”还...
进入2026年,被寄予“下一代智能终端”厚望的AI眼镜,能否突围成...
2026-01-02 07:16:45
深夜!茅台放大招:1499...
【导读】1499买飞天茅台,每人每天限购12瓶 中国基金报记者 泰...
2026-01-01 06:44:47
年终盘点|AI入端 让技术...
(记者 陈晓晟)即将过去的2025年,我国AI终端产业实现了跨越式...
2025-12-29 20:45:53

热门资讯

如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
硬核观察 #1249 LG 洗... #1 LG 洗衣机每天上传近 4GB 的数据?一个名为 Johnie 的 LG 洗衣机用户发现,他的...
2024 年 Linux 和开... 让我们尝试预测未来吧!新的一年快乐,朋友们 ✨2024 年的钟声已经敲过,我们有必要去预见一下将塑造...