哪里定义了像“Esc | 112 m”这样的xterm Escape序列?

时间:2013-01-20 20:52:35

标签: windows vim xterm ansi-escape

在ConEmu中实现xterm-256-colors时,我发现了一些未知的Escape序列(由Vim使用),如

Esc | 7 m
Esc | 15 m
Esc | 112 m

从Vim来源我发现这些代码用于更改粗体或反转属性,但我找不到任何关于它们的文档。

Esc | N m序列是否有任何规范?他们没有被提及here

1 个答案:

答案 0 :(得分:5)

我认为这些只是用于内部处理的内部vim代码:第一组\033|标记为

/*
 * GUI pseudo term-cap.
 */

和AFAIR在gui.cgui_*.c处理,第二套标记为

/*
 * These codes are valid for the pc video.  The entries that start with ESC |
 * are translated into conio calls in os_msdos.c. Default for MSDOS.
 */

第三组标有

/*
 * These codes are valid for the Win32 Console .  The entries that start with
 * ESC | are translated into console calls in os_win32.c.  The function keys
 * are also translated in os_win32.c.
 */

(我说的是builtin_termcaps array)。进一步提到:仅在update_tcap function中,没有直接引用这些由其他函数处理,但它不太可能是其他东西(不熟悉伪termcap处理代码)。除了term.c之外,它只能在\033|(两次)和screen.c(一次)中直接看到(即grep找到gui.c)。

顺便说一下,我没有在使用env TERM=xterm vim {args}的日志屏幕会话中启动vim输出中看到此代码。