BitchX 中的 ANSI 无法正确显示

BitchX 中的 ANSI 无法正确显示

我试图让 ANSI 在 OS X 上使用 Iterm2 在屏幕会话中正确显示,默认术语设置为

screen.xterm-256color

我试过

export TERM=vt100 

export TERM=ansi

在此输入图像描述

在此输入图像描述

export TERM=xterm 
w/ tmux

在此输入图像描述

答案1

设置TERM=ansi不会很好地工作,因为tmux它仅设计用于处理终端描述中找到的转义序列screen

如果这样做infocmp ansi screen,您可能会注意到这些行,显示终端能力哪个终端应用程序将使用,两个终端描述之间有所不同,但 tmux 和/或 iTerm2 在以这种方式误导时会错误处理:

        ech: '\E[%p1%dX', NULL.
        rep: '%p1%c\E[%p2%{1}%-%db', NULL.
        rin: '\E[%p1%dT', NULL.
        rmpch: '\E[10m', NULL. 
        rmacs: '\E[10m', '^O'.
        smacs: '\E[11m', '^N'.
        smpch: '\E[11m', NULL.

由于tmux混乱,无法保证什么可能会出现在显示屏上。

这同样适用于TERM=xterm.该tmux手册记录了这一限制。

设置TERM=vt100很接近(用infocmp来看),但大多数人都知道vt100从来没有ANSI颜色

答案2

问题不在于终端仿真 - 保留 TERM 设置不变。

就是UI的那些部分使用的字符集是CP437,但你的终端设置为另一个字符集(可能是UTF8)。

您可以将 iTerm2 设置为使用 CP437(如果支持)(该设置位于“终端/字符编码”下),或者您可以使用cp437实用程序在 UTF-8 终端上模拟 CP437 终端。

相关内容