gpt4 book ai didi

terminal - 无法在 ConEmu 中启用 256 色

转载 作者:行者123 更新时间:2023-12-02 10:22:28 24 4
gpt4 key购买 nike

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

更新:现在仅显示 8 种颜色。我知道是因为 '$tput color' 输出是 '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 配置文件中,我有 -> export TERM=cygwin
  • 这是我的自定义命令提示符:
    function prompt {    local RED="\[\033[0;31m\]"    local GREEN="\[\033[0;32m\]"    local COOLRED="\e[38;5;173m"    local COOLGREEN="\e[38;5;113m"    PS1="$COOLRED\u@\h $LIGHT_COOLGREEN\$PWD \[\e[0m\] > "    }    prompt
  • 顺便说一句,ConEmuANSI 在 ON 中的值。

我有一些屏幕截图:

enter image description here

正如你所看到的,命令提示符看起来非常奢侈,因为它不喜欢 256 色设置。如果我将变量 COOLRED 和 COOLGREEN 替换为 RED 和 GREEN,那么看起来不错,但它不是 256 色。

更多设置截图:

enter image description here enter image description here

最后一个场景是 cygwin 的薄荷糖。那里一切都很好。支持全 256 色。遗憾的是薄荷没有标签。这就是我尝试转到 ConEmu 的主要原因。

enter image description here

非常感谢您的帮助!!!

最佳答案

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

我认为,256 色可以在 mintty 中使用,因为 _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\] > "

ConEmu and real console window

ConEmu settings

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

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

所以,你可以采取两种方式

  • 完全禁用回滚缓冲区(有多种方法,例如“cmd -cur_console:h0”)
  • 在滚动缓冲区的底部工作。

关于terminal - 无法在 ConEmu 中启用 256 色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12913392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com