如何在我的 Windows git-bash 终端上获得彩色输出?

Posted

技术标签:

【中文标题】如何在我的 Windows git-bash 终端上获得彩色输出?【英文标题】:How do I get colorized output on my windows git-bash terminal? 【发布时间】:2018-07-22 19:34:32 【问题描述】:

如何在输出中获得彩色突出显示? 例如

npm start  
npm test
etc.

系统: 视窗 10 Git 版本 2.16.1.windows.4 节点 5.6.0

【问题讨论】:

【参考方案1】:

终端是 MinTTY,它似乎不支持颜色。通过重新安装和勾选 Windows 终端来修复它。

【讨论】:

【参考方案2】:

卸载适用于 Windows 10 的 Git Bash 并再次运行安装程序:

单击下一步,直到您提示选择配置终端模拟器以与 Git Bash 一起使用,此处选择 使用 Windows 默认控制台窗口(而不是默认使用MinTTY 作为终端仿真器的选项) 点击下一步完成安装

测试它是否正常工作:

打开 Git Bash(会打开 cmd),尝试使用 ls 你会看到所有的文件夹都是蓝色的 通过运行echo -e "\033[44m\033[37m Test \033[0m" 尝试一些ANSI escape code,您将看到带有蓝色背景的文本Test,如下面的屏幕截图所示

Windows 10 控制台支持24-bit color 和ANSI escape sequences

【讨论】:

【参考方案3】:

使用winpty

Windows Git Bash 有一些记录在案的怪癖:Winpty and Git Bash

$ winpty npm start
winpty: error: cannot start 'npm': Not found in PATH

又是另一个 windows / git bash 怪癖,它不会尝试解析以 .cmd 结尾的可执行文件,因此需要轻推。

$ winpty npm.cmd start

这同样适用于yarn

winpty yarn.cmd start

虽然我们在这里,但您无法让gyp 找到您的 Python2 安装位置以编译本机扩展,然后试试这个:

env PYTHON=/c/Python27/ winpty yarn.cmd install

Git Bash 仅在此命令执行期间覆盖您的 PYTHON 环境变量。你得到 winpty 来运行伪 tty 会话以允许动画渲染和着色。

假设你的 python 2 安装位置是 C:\Python27

【讨论】:

【参考方案4】:

对我来说,是选择 Windows 默认控制台窗口 而不是 MinTTY 导致颜色输出不起作用。

我的解决方案:

    卸载git bash;在安装过程中,选择 MinTTY(默认选项)。 安装后,前往C:\Program Files\Git\etc,打开你的git bash vim ~/.bashrc(由于某种原因,使用编辑器不起作用;我猜这是权限问题) 在# Add colors to 'ls' 下将其更改为 alias ls='ls --color=auto'

然后重新启动,它应该可以工作了。

我的版本:git 版本 2.24.1.windows.2

【讨论】:

以上是关于如何在我的 Windows git-bash 终端上获得彩色输出?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ubuntu on Windows (WSL) 上为我的 VS Code 终端使用 Bash?

Visual Studio 外部工具中添加 git-bash

通过 Windows 终端中的脚本设置 git bash 配色方案

如何在 Windows 资源管理器中添加“在此处打开 git-bash ...”上下文菜单?

你如何为 Git-Bash 设置 16 种终端颜色?

将Ubuntu终端改为看起来像Window的Git-bash