


























作为一名习惯使用 Linux 命令的开发者,我在 Windows 上选择了 Cygwin 作为工具集。但原生 Cygwin 终端(mintty)在运行某些 TUI 程序(如 mimo)时会出现动画闪烁;而 Windows Terminal 界面现代、渲染流畅,却又不直接支持 Cygwin 的环境。
本文记录了我如何将两者结合,实现:
Windows Terminal 默认启动即为 Cygwin 环境
右键菜单“在终端中打开”自动定位到当前目录
所有 Linux 命令(curl、grep、awk 等)优先使用 Cygwin 版本
打开 Windows Terminal,点击下拉箭头 → 设置。
点击左下角 添加新配置文件 → 新建空配置文件。
按以下信息填写:
名称:Cygwin
命令行:D:\cygwin64\bin\bash.exe --login -i
启动目录:留空(或设为 null)
图标:可选 D:\cygwin64\Cygwin.ico
点击 保存。
在设置页面左侧点击 启动,将 默认配置文件 下拉框选为刚刚创建的 Cygwin。之后每次打开 Windows Terminal,都会直接进入 Cygwin 的 bash 环境。
这是最棘手的一步。即使将 Windows Terminal 设为系统默认终端,右键打开时仍会跳到 ~ 目录。原因是 bash --login -i 会执行登录脚本,重置当前路径。
chere安装 chere:
重新运行 Cygwin 安装程序 setup-x86_64.exe,在包列表中搜索 chere 并安装。
添加右键菜单:
以管理员身份打开 Cygwin 终端,执行:
chere -i -t mintty -s bash
这会在右键菜单中添加一个“Bash Prompt Here”选项。
修改 Windows Terminal 中的 Cygwin 配置文件:
将配置文件的 命令行 改为:
D:\cygwin64\bin\bash.exe /bin/xhere /bin/bash
xhere 脚本会截获 Windows 传递的文件夹路径,转换为 Cygwin 格式,并强制 cd 到该目录,从而绕过登录脚本的路径重置。
为了避免在 PowerShell 或 CMD 中调用 curl 时误用 Windows 自带的版本,只需在 Windows Terminal 中始终使用 Cygwin 配置文件(已设为默认)。在该环境下,$PATH 顺序完全由 Cygwin 控制,所有 Linux 命令均为 Cygwin 版本,互不干扰。
✅ 打开 Windows Terminal 直接进入 Cygwin bash
✅ 任意文件夹右键“在终端中打开”,自动定位到该目录
✅ curl、grep、awk 等命令均为 Cygwin 版本
✅ 运行 mimo 等 TUI 程序时动画流畅,无闪烁
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。