我试图在梦幻般的ConEmu-Maximus5控制台中获得256种颜色。

更新:现在仅显示8种颜色。我知道,因为“$ tput颜色”输出为“8”

我遵循了instructions并激活:

  • TrueMod(24位颜色)支持
  • 注入(inject)ConEmuHk
  • ANSI x3.64 / xterm 256色

  • 我不知道如何处理“检查缓冲区/幻灯片是否存在”。
  • 我在Windows 7中。
  • 我使用自定义直接链接启动ConEmu,因此它将加载cygwin bash文件。

  • “C:\ Program Files \ ConEmu \ ConEmu64.exe” / cmd“” C:\ cygwin \ bin \ bash.exe“--login -i”
  • 在我的bashrc资料中,我有->导出TERM = cygwin
  • 这是我的自定义命令提示符:

  • 功能提示{

    本地RED =“\ [\ 033 [0; 31m \]”
    本地GREEN =“\ [\ 033 [0; 32m \]”
    本地COOLRED =“\ e [38; 5; 173m”
    本地COOLGREEN =“\ e [38; 5; 113m”
    PS1 =“$ COOLRED \ u @ \ h $ LIGHT_COOLGREEN \ $ PWD \ [\ e [0m \]>”

    }

    提示
  • 顺便说一下,ConEmuANSI的值为ON。

  • 我有一些屏幕截图:

    如您所见,命令提示符看起来非常奢侈,因为它不喜欢256色设置。如果我用红色和绿色替换变量COOLRED和COOLGREEN,那么看起来还可以,但不是256色。

    设置的更多屏幕截图:


    最后一个镜头是cygwin的薄荷味。那里一切都很好。支持全256色。可惜的是薄荷没有标签。这主要是我要搬到ConEmu的原因。

    非常感谢您的帮助!!!

    最佳答案

    Bash不会将ANSI序列发送到控制台。它试图自己处理它们。并且,由于* nix终端通常只有8色(不考虑256色模式),因此bash使用8色调色板而不是Windows终端常见的16色调色板。

    我认为256色可以实现薄荷味,因为_isatty在该终端中返回零。但是它在ConEmu下返回非零值。可能在将来的版本中,我解决了这个难题(如何为某些应用程序创建具有PTY功能的真实终端)。

    关于问题

    实际上,您不需要256色。要重新定义提示调色板,您可以使用“使用背景扩展前景色”功能。在breaf中-在ConEmu中设置颜色16、17等,在bash中将提示背景设置为#5(在ConEmu中可配置),然后瞧。

    ConEmu“扩展...”处理中存在一个小错误。使用内部版本121016或更高版本。

    PS1="\e[30;45m\u@\h \e[34;45m$PWD \[\e[0m\] > "
    



    以下信息与问题不匹配,但可能有用

    当前版本在“整个”控制台缓冲区中不支持256色模式(限制,是的,在计划中将其删除)。

    因此,您可以选择2种方式
  • 完全禁用回滚缓冲区(许多方式,例如“cmd -cur_console:h0”)
  • 工作在滚动缓冲区的底部。
  • 关于terminal - 无法在ConEmu中启用256色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12913392/

    10-10 13:50