vaa*_*aab 7 emacs terminal console org-mode strikethrough
我正在使用org-mode.在文本周围使用"+",它在GUI中正确显示为删除文本(例如:+ striked-through +).
但是这在emacs控制台模式下不起作用,文本不会显示为striked-through:默认面没有区别.
我的术语知道如何显示透视效果,因为它通过此测试正确显示了标记文本:
echo -e "\e[9mtest\e[0m"
Run Code Online (Sandbox Code Playgroud)
所以这似乎是不使用SGR代码将文本呈现为删除线的emacs.
你知道告诉emacs在控制台中使用删除的方法吗?或者在我的结尾是不是设置了什么?
(Linux) 虚拟控制台不实现删除线。一些终端仿真器可以执行此操作,但通常这些仿真器不称为“控制台”。emacs 最多可以显示一些其他类型的突出显示,例如颜色。
删除线转义序列的参考是 ECMA-48。但是,请记住,它是由委员会创建的,并不代表现有实践。相反,它是现有和拟议实施的框架。其中描述的许多功能尚未(30 年后)实现。您不会发现删除线作为标准 terminfo(或 termcap)功能,仅仅是因为很少(如果有)终端实现了该功能。阅读terminfo(5):没有为此目的定义的功能。
如果你阅读 emacs 的源代码,很容易发现它不支持删除线。emacs 的终端驱动程序使用 termcap 并在位掩码term.c中列出支持的视频属性:
enum no_color_bit
{
NC_STANDOUT = 1 << 0,
NC_UNDERLINE = 1 << 1,
NC_REVERSE = 1 << 2,
NC_ITALIC = 1 << 3,
NC_DIM = 1 << 4,
NC_BOLD = 1 << 5,
NC_INVIS = 1 << 6,
NC_PROTECT = 1 << 7
};
Run Code Online (Sandbox Code Playgroud)
它还使用tgetstr(参见代码)检索许多字符串功能。那里没有删除线。虽然 emacs硬编码了一些颜色转义(以解决 termcap 的限制),但驱动程序不包含任何可以删除的内容。
进一步阅读:
| 归档时间: |
|
| 查看次数: |
728 次 |
| 最近记录: |