无法在ConEmu中启用256种颜色

Raf*_*lGP 22 terminal 256color ansi-colors conemu

我想在梦幻般的ConEmu-Maximus5控制台中获得256种颜色.

更新:现在它只显示8种颜色.我知道因为'$ tput colors'的输出是'8'

我按照说明操作并激活:

  • TrueMod(24位颜色)支持
  • 注入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中的价值.

我有一些屏幕截图:

在此输入图像描述

正如您所看到的,命令提示看起来非常奢侈,因为它不喜欢256色设置.如果我用红色和绿色替换变量COOLRED和COOLGREEN,那么看起来没问题,但它不是256色.

更多设置截图:

在此输入图像描述 在此输入图像描述

最后一次拍摄它是cygwin的薄荷.一切都很好.支持全256色.这是一个耻辱的薄荷没有标签.这主要是我为什么要搬到ConEmu的原因.

在此输入图像描述

非常感谢您的帮助!

Max*_*mus 12

Bash不会将ANSI序列发送到控制台.它试图自己处理它们.并且,因为*nix终端通常只有8色(不考虑256色模式),所以bash使用8色调色板代替Windows终端常用的16色调色板.

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

至于问题

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

ConEmu"Extend ..."处理中有一个小错误.使用build 121016或更高版本.

PS1="\e[30;45m\u@\h \e[34;45m$PWD \[\e[0m\] > "
Run Code Online (Sandbox Code Playgroud)

ConEmu和真正的控制台窗口

ConEmu设置

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

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

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

  • 完全禁用回滚缓冲区(很多方式,例如"cmd -cur_console:h0")
  • 在滚动缓冲区的底部工作.

  • @Maximus我很高兴看到ConEmu中的256种颜色 - 我希望能够看到LS_COLORS的完全容量,例如 (6认同)
  • `Bash不会向控制台发送ANSI代码`你能详细说明吗?因为afaik是不正确的. (2认同)