windows - 像 "Esc | 112 m"这样的 xterm 转义序列在哪里定义?

标签 windows vim xterm ansi-escape

在 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.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,它只能在 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/

相关文章:

python - 在 Python 中导入 C++ dll 失败

windows - 我可以向文件添加其他标签以用于搜索吗

c++ - 从 Windows 迁移到 Ubuntu

vim - 类似FZF的方式快速切换目录?在 Vim FZF 中包含隐藏文件?

vim - 如何在 Rust 程序的 `main` 函数处打开 Vim?

Vim 自动完成 : Cancelling autocomplete popup

ssh - 如何去除golang ssh客户端中的颜色代码

windows - 使用 portaudio 设置音频输入电平

c - 多个 xterm 伪终端仅用作多个线程的输出

javascript - 以编程方式在 xterm js 中插入 Enter