Ash*_*Ash 6 windows-7 windows-vista cygwin colors mercurial
当运行带有颜色扩展名的命令行 Mercurial 时,颜色在 Windows 命令提示符 ( cmd.exe
) 中按预期显示。但是,在 cygwin 中,颜色显示为底层 ANSI 代码(例如:)?[0;34;1m
。
当我搜索解决方案时,颜色在 cygwin 中工作但在命令提示符中不工作似乎更常见。我是否忘记在 cygwin 中安装一些有用的东西来激活颜色显示?
我在 Windows 7 64 位和 Vista 32 位机器上都遇到了这个问题。bash
和tcsh
贝壳我都试过了。如果我执行类似ls --color
.
当您使用 Cygwin 控制台时,控制序列的解释由 Cygwin DLL 完成。该 DLL 当然只链接到 Cygwin 程序,因此像 Mercurial 这样的非 Cygwin 程序将无法使用它。
那么为什么它在 cmd.exe 控制台中运行时会起作用,它首先不理解控制序列?我的猜测是 Mercurial 在认为它在控制台中运行时使用 Windows 控制台 API,并在它认为它在终端中运行时使用控制序列。也许这取决于是否设置了 TERM,所以试试如果你取消设置 TERM 会发生什么。
否则,请尝试在诸如 mintty 或 rxvt 之类的 Cygwin 终端中运行它。在那里,不同之处在于控制序列由这些程序而不是 Cygwin DLL 解释。
归档时间: |
|
查看次数: |
4201 次 |
最近记录: |