使用tmux和Git自定义我的Linux终端

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

[[334923]]

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

我使用 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

  1. [$(~/.virtualenvs/howsit/bin/python -m howsit)]\h:\W \u ℵ₀  
  2. $

 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2017-01-11 10:27:36

Linux终端自定义Bash

2017-04-20 20:30:15

Linuxtmux终端

2019-12-25 11:47:27

LinuxFVWM

2010-10-25 16:05:07

oracle自定义函数

2014-10-09 10:07:26

Tmux终端效率

2017-03-16 14:37:05

LinuxShell函数

2023-11-14 10:05:52

Java开发工具

2022-11-23 15:26:25

Ubuntu程序坞

2021-03-02 08:49:53

tmuxLinux命令

2009-09-11 11:04:23

C# WinForm自

2021-06-02 11:41:54

LinuxTmux命令

2009-06-23 11:35:44

JSF的Naviati

2022-01-14 09:17:13

PythonAPISIX插件

2021-12-24 15:46:23

鸿蒙HarmonyOS应用

2015-06-10 10:54:24

自定义路PHP

2024-01-05 12:03:37

终端工具​tmux

2021-12-02 18:05:21

Android Interpolato动画

2015-02-12 15:33:43

微信SDK

2021-07-16 07:00:11

PyTorch DatasetsDataLoader

2022-11-29 08:07:23

CSSJavaScript自定义
点赞
收藏

51CTO技术栈公众号