【问题标题】:How to correctly enable ANSI colors in ConEmu + Git Bash?如何在 ConEmu + Git Bash 中正确启用 ANSI 颜色?
【发布时间】:2015-02-19 06:03:35
【问题描述】:

我使用Git BashConEmu 让它看起来很酷。但是,在安装 Composer 后,颜色似乎被转义了:

所以 Git Bash 不支持所有颜色。检查 AnsiColors256.ans 文件:

经过大量谷歌搜索,我仍然没有找到任何解决方案。我不想使用 Ansicon 或其他控制台模拟器,ConEmu 适合我。

我的设置:

  • 启用注入 ConEmuHk
  • Ansi X3.64 / xterm 256 已启用
  • Windows 7 x64
  • Git Bash 1.9.5
  • ConEmu 141208

如何启用所有颜色?这让我对 Console-Zen 体验的需求很恼火:(

【问题讨论】:

  • 作曲家?重击?它们是完全不同的应用程序。
  • 当然,但对我来说似乎更像是控制台问题。即使in Composer's setup file 也表示ANSI 颜色输出应该在Ansicon 和ConEmu 中工作。 (前几行)
  • 更新: 在 ConEmu 中运行 php -r "echo getenv('ConEmuANSI');"ON
  • 找到old issue。似乎这是 ConEmu 中的一个错误。
  • 不是 ConEmu 错误! Ansi 工作正常。

标签: git-bash conemu color-codes ansi-colors


【解决方案1】:

在 Git Bash 中正确启用颜色:

  1. 下载并解压ANSICONhttps://github.com/adoxa/ansicon/releases/tag/v1.81
  2. 如果您运行的是 64 位操作系统,请复制 x64 文件夹中的所有内容,否则,
    • 如果您运行的是 32 位操作系统,请复制 x86 文件夹中的所有内容。
  3. C:\Program Files\ANSICON 处创建文件夹 ANSICON,并将复制的内容粘贴到此处。
  4. 右键单击您的 Git Bash 快捷方式,然后转到属性

  1. 目标值设置/修改为以下(请参阅下面的屏幕截图):

"C:\Program Files\ANSICON\ansicon.exe" "C:\Program 文件\Git\git-bash.exe" --cd-to-home

  1. 打开您的 .bashrc 文件 (C:\Users\Aditya\.bashrc)。

注意: .bashrc 是一个隐藏文件。所以你需要在你的windows资源管理器设置中打开选项来显示隐藏文件。

  1. 将以下 2 行添加到您的 .bashrc 文件(任何位置):

unalias $(alias | grep winpty | grep php | cut -d"=" -f1 | cut -d" " -f2)

导出 ANSICON=true

  1. 保存您的 .bashrc 文件并立即打开 Git Bash。完毕!

【讨论】:

  • 这也适用于 Console2 或其分支 Consolez,就像 Aditya 显示的快捷方式目标一样:在 console2 选项卡设置中,在 git bash 选项卡的“shell”设置前面加上 ansicon.exe 的路径
  • Windows Defender 显示 ANSICON v1.81.zip 包含 Trojan:Win32/Tiggre!plock
  • 我必须自己创建 .bashrc,而 git bash 自动创建了 .bash_profile,现在它正在按应有的方式工作
【解决方案2】:

您可能遇到的另一个问题是,如果您在没有正确引用的情况下设置了任务(设置 → 启动 → 任务)。执行以下任务会破坏作曲家的 ANSI 着色(其他一切似乎都可以正常工作):

%TOOLS_DIR%\git\bin\sh.exe --login -i -new_console:C:%TOOLS_DIR%\git\mingw64\share\git\git-for-windows.ico:t:"Git bash"

%TOOLS_DIR% 的值为D:\Tools。我只能想象反斜杠是问题所在。但是,以下工作按预期工作:

"%TOOLS_DIR%\git\bin\sh.exe" --login -i -new_console:C:"%TOOLS_DIR%\git\mingw64\share\git\git-for-windows.ico":t:"Git bash"

【讨论】:

    【解决方案3】:

    WinR 运行 ConEmu(如果需要,输入 sh.exe 的完整路径)

    ConEmu -basic -cmd sh.exe -l -i
    

    运行composer,ANSI 正在运行。

    【讨论】:

    • 谢谢!不知道 -l 和 -i 标志可以,但设法使它工作!它现在显示正确的颜色。
    • -l-i 标志使其工作,因为您告诉 bash 分别运行“登录”和“交互式”shell。如果您希望它运行.bashrc 文件,则需要“登录”,“交互式”告诉 bash 它将读取和写入终端;没有终端,它不会启用着色。 GNU bash manual 的更多详细信息(回复@WillSolo)
    猜你喜欢
    • 2012-01-19
    • 2017-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 2021-01-01
    • 2012-10-06
    • 1970-01-01
    相关资源
    最近更新 更多