此终端窗口图形技巧的名称是什么,它显示突出显示的文本周围的重音边缘?


19

我注意到在线终端窗口的一些屏幕截图,这些屏幕截图在状态栏或突出显示的行周围显示突出的细边。在下面的示例中,请注意第1、5和389行周围的浅灰色边缘:

在此处输入图片说明

在此示例中,请注意Emacs模式行(状态栏)周围的黄色边缘:

在此处输入图片说明

此效果的名称是什么,在OS X 10.10下使用iTerm 2可能吗?

更新资料

在进行了一些研究并深入研究了Emacs Customize接口主题代码之后,我发现了一些定义边缘的代码。按照Emacs的说法,它称为:box,其属性之一是line-width。这是在主题中定义框线的示例:

'(modeline ((t (:background "Gray10" :foreground "SteelBlue" :box (:line-width 1 :style none) :width condensed))))

对于文档:box可以在Emacs手册的发现面部属性的文件,尽管它没有提到它是如何工作的,或终端支持。

我开始认为这可能是Emacs的GUI版本(例如Aquamacs)的一项特殊功能,但是我可以肯定的是,我已经看过屏幕快照,这些屏幕快照看起来像是 Ubuntu Unity终端窗口,具有类似的方框突出显示。


这些屏幕截图是在X中而不是在终端中运行的emacs。
casey 2015年

Answers:


3

您看到的效果不是终端窗口的图形技巧,而是在X中运行的gui emacs。您可以正确识别自定义项,以使emacs进行绘制,但是这些仅在emacs在X中运行时才会呈现。

为了说明这一点,我将模式行设置为主题:

 '(mode-line ((t (:background "gray10" :foreground "green" :box (:line-width -1 :style released-button)))))

当emacs以图形方式运行时(例如emacs),它呈现为:

在此处输入图片说明

当emacs在终端(例如emacs -nw)中运行时,其呈现为:

在此处输入图片说明

您可以看到像素边框效果,使框定义的凸起外观仅在gui模式下渲染。在终端模式下,这只是一个平坦的效果。

同样,您发布的图片来自gui emacs,其效果不是任何终端仿真器的属性,也不是该渲染中涉及的任何终端仿真器。


1
是的,我也怀疑这些屏幕截图来自GUI版本。我最近修改了答案,以包括可用于终端仿真器的可用字符格式清单。这些都不包括OP的要求。
Alex Stragies 2015年

对我来说,似乎“释放按钮”样式的框仅在顶部边缘放置一条线,而在OP的屏幕截图中,该线出现在模式行的所有侧面。我误解了这个问题吗?
ksoo

3

我了解维基百科页面的方式(尽管我非常想证明在这个特定问题上是错误的):

  • 存在样式下划线,但不限于光标。他们称之为代码4。
  • 存在框架样式,因为每个字符周围有4个边框,因此将其称为代码51。

注意:这不能使框架中的字符字符串之间没有边界。就像Lisa第一个屏幕截图一样。

因此,我的答案(截至2015年中)仍然是:

(当前)终端仿真器无法按照您想要的方式在字符周围显示可选的彩色边框。

在这里,您可以看到应用的ANSI代码。

诸如gvim和xemacs之类的Gui应用程序不基于终端仿真器,不受当前终端仿真器的限制。我认为,屏幕截图来自GUI应用程序。

同样,我想证明这一点是错误的,因为我很乐意将这种格式合并到我自己的dotfile自定义中。


1
需要注意的是XEmacs的是emacs的一个叉(这是不是“X的emacs”)和定期Emacs可以在十图形运行
卡西
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.