【发布时间】:2012-11-16 04:36:17
【问题描述】:
我想开发什么: 可以同时使用至少 2 种字体的终端。我将使用一种字体用于 shell 输入行,另一种字体用于命令输出。例如:
user@host$ ls /home 用户 用户 1 用户 2 用户 3为什么: 更易读的终端/shell
如何:我有问题。可能 shell 需要生成一些新的转义序列。终端需要加载不同的字体并处理这些序列。从哪儿开始?如何定义新的转义序列,标准在哪里?
未来:也许有人想和我一起参与这个项目?
【问题讨论】:
-
我不是 100% 确定,但我认为这也需要您的终端仿真器提供一些东西。 shell转义可能会提供简单的粗体/斜体/下划线,但字体更改看起来很困难。
-
你已经可以使用彩色提示了……而且,我从来没有注意到“终端/shell”不是“可读的”。
-
anishsane:如果我们可以在 shell 命令行中使用“no monospace”字体,在所有输出中使用“monospace”,将会显着改善外观。
-
gniourf_gniourf:你从来没有迷失在终端输出中吗?颜色很好,特别是如果没有过度使用。但我们的眼睛和大脑更善于识别细微的形状差异。无论如何,如果我们可以改变终端字体的颜色、斜体、下划线,为什么不完全实现改变字体的功能呢?
-
一个指针:
bash并没有真正特别对待提示和用户的输入;提示只是写入标准错误(可以通过重定向 shell 的标准错误来观察)。您的外壳不一定要这样做;它可以写入第三个内部文件描述符(这当然会默认为终端,如标准错误和标准输出)。然后你可以将任何你喜欢的终端控制字符写入这个专用的提示文件描述符,问题就减少到有一个可以正确解释它们的终端模拟器。