把 Windows Git Bash 改造成 zsh 终端:更适合 AI Coding 的轻量方案

77 阅读5分钟

如果你在 Windows 上写代码,又经常和 AI Agent、CLI 工具、自动化脚本打交道,大概率遇到过这些问题:

  • 文档里给的是 Bash 命令,复制到 PowerShell 里引号、路径、环境变量全都不对劲
  • WSL 很强,但你只是想要一个更顺手的终端,不想再维护另一套 Linux 文件系统
  • Git Bash 能跑很多命令,但默认体验偏朴素,提示符、补全、插件和现代 CLI 工具都要自己一点点配
  • Windows Terminal、VS Code、Git Bash、.bashrc.zshrc 分散配置,改起来容易乱 最近整理了一个小项目:gyf-dev/windows-bash-zsh,目标很简单:把 Windows 上的 Git Bash 打造成接近 macOS/Linux 体验的 zsh 终端环境。

它集成了 Windows Terminal、zsh、Oh My Zsh、Starship、fzf、常用 zsh 插件,以及 bat、ripgrep、lsd、yazi 等现代 CLI 工具。对经常使用 Codex、Claude、Copilot、各种 Agent 工具的 Windows 用户来说,这种 Bash-like 环境会舒服很多。

img_v3_02116_0ee63eba-b0a7-48c1-956f-d013227af83g.png

为什么不是直接用 WSL?

WSL 当然很强,适合需要完整 Linux 环境的场景。但如果你的核心需求是「Windows 本机项目 + 更好用的 Unix-like 终端」,WSL 有时候会显得重了一些。

它会带来另一套文件系统、包管理层、网络边界和运行时上下文。同一份 Git 仓库如果同时在 Windows 和 WSL 里编辑,还可能碰到换行符、权限、文件监听、路径映射等问题。

windows-bash-zsh 的定位不是替代 WSL,而是给另一类需求一个更轻的选择:

  • 继续使用 Windows 本机文件和工具链

  • 继续使用 Git for Windows / Git Bash

  • 让终端体验接近 macOS/Linux

  • 让 AI CLI、Shell 脚本和常见开发命令少踩 PowerShell 兼容坑

它主要做了什么?

1. Windows Terminal 集成

项目会帮助添加或更新 Git Bash profile,并配置默认终端、字体和常用快捷键。这样你打开 Windows Terminal 时,可以直接进入增强后的 Git Bash/zsh 环境。

2. zsh + Oh My Zsh

在 Git Bash 环境中安装并启用 zsh、Oh My Zsh 和常用插件,让补全、历史命令、命令提示、语法高亮、自动建议这些能力都变得顺手。

3. Starship 提示符

使用 Catppuccin Mocha 风格的 Starship 配置。相比复杂主题,Starship 更轻,跨 shell 也更稳定,适合日常开发和 AI 工具频繁调用命令的场景。

4. 现代 CLI 工具

项目集成了常用效率工具:

  • bat:更好看的 cat

  • ripgrep:更快的全文搜索

  • lsd:更现代的 ls

  • yazi:终端文件管理器

  • 7-ZipImageMagickFFmpeg:用于增强 yazi 预览能力

这些工具配好之后,Windows 终端的体验会明显接近 macOS/Linux 开发机。

5. macOS-like open

项目还提供了类似 macOS 的 open 命令。在 Windows 上也能更自然地从终端打开文件、目录或链接。

6. 幂等配置

这是我比较看重的一点:它不是粗暴覆盖用户配置,而是尽量只补齐缺失配置。

.bashrc.zshrc、Windows Terminal、VS Code settings 这些都属于用户自己的东西。项目会以受管配置块和定点修改为主,避免把已有内容整文件覆盖掉。

快速开始

先克隆项目:

git clone https://github.com/gyf-dev/windows-bash-zsh.git
cd windows-bash-zsh

PowerShell 安装:

powershell.exe -ExecutionPolicy Bypass -File .\install.ps1

CMD 安装:

install.cmd

Bash 安装:

bash install.sh

安装脚本默认会把 Skill 安装到多个常见 Agent 平台目录:

  • Codex:~\.codex\skills\windows-bash-zsh
  • Claude:~\.claude\skills\windows-bash-zsh
  • Agents:~\.agents\skills\windows-bash-zsh
  • Copilot:~\.copilot\skills\windows-bash-zsh

安装完成后,在对应 Agent 平台中执行 windows-bash-zsh Skill,完成配置后重新打开终端即可。

第一次启动终端可能会稍慢,因为 zsh 插件需要初始化;后续打开会恢复正常。如果你不需要某些插件,也可以在 .zshrcplugins=(...) 中删掉。

卸载也很直接

PowerShell:

powershell.exe -ExecutionPolicy Bypass -File .\install.ps1 -Uninstall

CMD:

install.cmd -Uninstall

Bash:

bash install.sh --uninstall

如果只想安装到某个目标,或者额外安装到自定义 skills 目录,也支持参数化安装:

# 只安装到 Codex

powershell.exe -ExecutionPolicy Bypass -File .\install.ps1 -Targets codex

# 额外安装到自定义 skills 目录

powershell.exe -ExecutionPolicy Bypass -File .\install.ps1 -ExtraSkillRoots "D:\MyAgent\skills"

适合哪些人?

我觉得它特别适合这几类开发者:

  • Windows 主力机用户,但喜欢 macOS/Linux 风格终端
  • 经常复制 Bash 文档命令,不想反复改 PowerShell 语法
  • 正在使用 AI Coding、Codex、Claude Code、Copilot CLI 或其他 Agent 工具
  • 不需要完整 WSL,只想把 Git Bash 体验补齐
  • 喜欢 fzfrgbatlsdyazi 这一套现代 CLI 工具
  • 希望配置可回退、可重复执行,不想手动改一堆 rc 文件

和手动配置相比,优势在哪里?

手动配置当然也可以,但 Windows 上的终端链路比较散:

  • Git Bash 本身一套配置
  • zsh 安装和 Git for Windows 路径有关
  • Oh My Zsh 插件位置要对
  • Starship 最好避开带空格的 Windows 路径
  • Windows Terminal profile 要单独配置
  • VS Code terminal settings 也可能要处理
  • bat、rg、lsd、yazi 还涉及 winget、PATH 和 alias

这些东西不是难,而是碎。碎就容易漏,也容易过几个月忘了自己改过哪里。

windows-bash-zsh 的价值,就是把这些分散步骤整理成一个可复用、可更新、可卸载的 Skill 和脚本集合。

项目地址

GitHub: github.com/gyf-dev/win…

如果你也是 Windows 开发环境重度用户,或者正在把 AI Coding 工具接入日常开发流,可以试一下这个方案。它不是为了炫技,而是让 Windows 终端少一点摩擦感,多一点「打开就能干活」的稳定体验。

欢迎 Star、试用、提 Issue,也欢迎分享你在 Windows 上配置 AI CLI 工作流时遇到的坑。