如何在 ConEmu + Git Bash 中正确启用 ANSI 颜色?
Posted
技术标签:
【中文标题】如何在 ConEmu + Git Bash 中正确启用 ANSI 颜色?【英文标题】:How to correctly enable ANSI colors in ConEmu + Git Bash? 【发布时间】:2015-02-19 06:03:35 【问题描述】:我使用Git Bash 和ConEmu 让它看起来很酷。但是,在安装 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 工作正常。
【参考方案1】:
在 Git Bash 中正确启用颜色:
-
下载并解压ANSICON:https://github.com/adoxa/ansicon/releases/tag/v1.81
如果您运行的是 64 位操作系统,请复制 x64 文件夹中的所有内容,否则,
如果您运行的是 32 位操作系统,请复制 x86 文件夹中的所有内容。
在 C:\Program Files\ANSICON 处创建文件夹 ANSICON,并将复制的内容粘贴到此处。
右键单击您的 Git Bash 快捷方式,然后转到属性。
-
将目标值设置/修改为以下(请参阅下面的屏幕截图):
"C:\Program Files\ANSICON\ansicon.exe" "C:\Program 文件\Git\git-bash.exe" --cd-to-home
-
打开您的 .bashrc 文件 (C:\Users\Aditya\.bashrc)。
注意: .bashrc 是一个隐藏文件。所以你需要在你的windows资源管理器设置中打开选项来显示隐藏文件。
-
将以下 2 行添加到您的 .bashrc 文件(任何位置):
unalias $(alias | grep winpty | grep php | cut -d"=" -f1 | cut -d" " -f2)
导出 ANSICON=true
-
保存您的 .bashrc 文件并立即打开 Git Bash。完毕!
【讨论】:
这也适用于 Console2 或其分支 Consolez,就像 Aditya 显示的快捷方式目标一样:在 console2 选项卡设置中,在 git bash 选项卡的“shell”设置前面加上 ansicon.exe 的路径 Windows Defender 显示 ANSICON v1.81.zip 包含 ***: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)以上是关于如何在 ConEmu + Git Bash 中正确启用 ANSI 颜色?的主要内容,如果未能解决你的问题,请参考以下文章
Conemu, Msys2 工具整合,提升windows下控制台工作效率
如何在 Windows 中将 Git Bash 拆分为多个“视图”?
带有ZSH的WSL Bash集成在ConEmu中 - Open Here Issue