使用ZSH美化Windows系统Git Bash

此前,我们讲解了一种借助 Windows Subsystem for Linux(WSL)让用户在 Windows 操作系统中运用 Linux Shell 命令,进而高效地实现文件访问、编译等开发工作。

Windows系统命令行的最佳实践 | 听到微笑的博客

这种借助 Windows Subsystem for Linux(WSL)的方式,其显著优势在于提供了完整的 Linux 子系统环境,这意味着在常规 Linux 系统中所使用的各类命令,在 WSL 中均可无障碍执行,极大地拓展了 Windows 用户对于 Linux 工具和命令的使用场景。

然而,WSL 是在 Windows 内核之上搭建的轻量级 Linux 兼容层,从某种程度上可以类比为一个能够访问宿主文件的虚拟机。这种架构也引发了一些性能问题。在文件访问性能上,WSL 子系统对 Windows 宿主文件的访问效率偏低,这在处理大量文件的编译打包场景可能会产生明显的延迟。

此外,在环境配置的兼容性上也存在局限。例如,当在 Windows 宿主系统中安装并配置好 Java JDK 后,WSL 子系统并不能直接调用宿主机环境的 java 可执行程序。若要在 WSL 中使用 JDK,仍然需要在 WSL 内部另行安装对应 Linux 版本的 JDK,这无疑增加了大家配置环境的成本。

在 Windows 环境下,Windows Git 自带的 Git Bash 发挥着重要作用。它并非 Linux 虚拟机,而是模拟类 Unix 环境的命令行工具,为 Windows 用户提供了类似 Linux 的命令行操作体验,有效避免了像 WSL 那样存在的文件访问性能不佳以及环境配置兼容性问题。但遗憾的是,Git Bash 的默认客户端界面不太美观。作为一个注重使用体验的开发者,我一直想对 Git Bash 进行美化,使其能达到类似 Mac ZSH 的视觉效果。

在我一通折腾下,Windows Git Bash 重新焕发新春:

配置完后的 Git Bash,拥有类似 Mac 终端的体验:

  • 类Unix命令行

  • 显示当前文件夹所在的Git分支

  • 命令提示

现在我们来介绍一下整体的安装配置步骤:

一. 安装配置步骤

第一步:安装Git

Git - Downloading Package

安装时请记住 Git 的安装目录:

并且安装时请勾选 Git Bash 选项:

后面一直下一步,直至安装成功即可,默认情况下Git Bash的终端是这样的:

第二步:下载并配置ZSH

通过下面的链接下载 Zsh for Windows package 软件包。

下载地址:zsh-5.9-2-x86_64

下载完成后得到以下文件:

解压该文件,可以得到比较关键的 etcusr 目录,里面包含 zsh 可执行文件:

我们需要 etcusr 目录,因此将这两个目录从解压的文件夹复制到 Git 安装目录中,出现提示时,选择覆盖所有现有文件的选项,不用担心,这两个目录(etcusr)包含全新文件,不会覆盖现有文件。以我们前面的安装教程为例,需要将这两个目录文件复制到 D:\work-sorftware\Git 下。

使用文本编辑工具打开 {GIT_DIR}/Git/etc/profile 文件,{GIT_DIR}代表Git安装目录。注释掉文件底部附近以 line 开头的整个块 if [ ! "x${BASH_VERSION}" = "x" ]; then 并以fi行结束。在撰写本文时,我注释掉了111-133行。我们不需要所有这些代码,因为我们知道我们将使用 ZSH。并在注释掉的块下方,添加以下 3 行:

shell 复制代码
HOSTNAME="$(exec /usr/bin/hostname)"
profile_d zsh
SHELL='/usr/bin/zsh'

第三步:下载并配置 Windows Terminal

前往微软官方商店下载 Windows Terminal:

打开Windows Terminal,新增配置文件,在命令行中填写 zsh 启动命令:

shell 复制代码
{GIT_DIR}\usr\bin\zsh.exe -il

上面的配置文件使用自定义图标,因此您可以参考下面的默认git-for-windows.ico图标文件 D:\work-sorftware\Git\mingw64\share\git 或者再找一个你喜欢的。

也可以在启动配置中将 Git Bash 设置为默认 Windows 终端配置文件。

第四步:安装 oh-my-zsh

从任意位置执行以下命令,将Oh My Zsh安装在$HOME/.oh-my-zsh目录下:

shell 复制代码
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh

使用以下命令克隆zsh-autosuggestions

shell 复制代码
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions

打开~/.zshrc文件,将zsh-autosuggestions插件添加到oh-my-zsh插件:

执行下列命令重新加载配置文件:

shell 复制代码
source ~/.zshrc

我们就可以看到 zsh-autosuggestions 生效了:

二. IDEA使用 Git Bash

按照上述步骤配置好 Git Bash 后,我们可以在诸如IDEA等开发工具中配置使用ZSH:

这样IDEA命令行,也就可以使用ZSH了:

二. 总结

本文介绍了在 Windows 系统中使用 ZSH 美化 Git Bash 的方法,对比了 WSL 的优缺点后,详细阐述了 Git Bash 美化步骤。包括安装 Git 并勾选相关选项,下载并配置 ZSH,安装并设置 Windows Terminal,以及安装 oh-my-zshzsh-autosuggestions 插件并进行相应配置。最终使 Git Bash 拥有类似 Mac 终端的体验,提升 Windows 用户的命令行操作体验和效率。

本文参考至:Using Zsh and zsh-autosuggestions on Windows Terminal with Oh My Posh theme - DEV Community

相关推荐
vistaup14 小时前
windows git 更新当前目录下所有的文件(非递归)
windows·git
王码码203515 小时前
Flutter for OpenHarmony:Flutter 三方库 algoliasearch 毫秒级云端搜索体验(云原生搜索引擎)
android·前端·git·flutter·搜索引擎·云原生·harmonyos
HelloTonyGo16 小时前
个人游戏笔记本免费“养龙虾”(Win10+WSL2+OpenClaw 部署与配置指南)
windows·ubuntu·wsl2·openclaw
待续30116 小时前
OpenClaw 安装及使用教程(Windows / macOS / Linux)
linux·windows·macos
sthnyph18 小时前
MySQL 8.0在windows环境安装及配置
windows·mysql·adb
Irene199118 小时前
Git 命令汇总表(基于一次完整的 Git 实战经验整理,涵盖从安装配置到日常开发、问题排查的所有常用命令)
git·常用命令
深念Y19 小时前
Windows 11 23H2 搜狗输入法卸载后任务栏严重卡顿问题分析
windows
q54314708719 小时前
Redis Desktop Manager(Redis可视化工具)安装及使用详细教程
redis·git·bootstrap
素雨迁喜21 小时前
Linux平台下git工具的使用
linux·运维·git
AI-小柒21 小时前
DataEyes 聚合平台 + Claude Code Max 编程实战
android·开发语言·人工智能·windows·python·macos·adb