在 ConEmu 中实现 xterm-256-colors 时,我发现了一些对我来说未知的转义序列(由 Vim 使用),例如
Esc | 7 m
Esc | 15 m
Esc | 112 m
从 Vim 源代码中,我意识到这些代码用于更改粗体或反色属性,但我找不到任何关于它们的文档。
Esc | 是否有任何规范? N m
序列?他们没有被提及here .
最佳答案
我相信这些是仅用于内部处理的内部 vim 代码:第一组 \033|
被标记
/*
* GUI pseudo term-cap.
*/
并且 AFAIR 在 gui.c
或 gui_*.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
,它只能在 screen.c
(两次)和 中直接看到(即 grep 找到
(一次)。\033|
) gui.c
顺便说一句,我在使用 env TERM=xterm vim {args}
的日志屏幕 session 中启动的 vim 输出中没有看到这段代码。
关于windows - 像 "Esc | 112 m"这样的 xterm 转义序列在哪里定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14429197/