随着Windows 11的发布,相信部分用户也因果味十足的UI和WSLG的成熟从Linux桌面转投了Windows 11。而Windows下缺乏完整命令行体验的问题长久以来令人诟病。
众所周知,加装了Oh-My-Zsh插件的Zsh对开发者而言如同神器。为此,我们想要把完整的zsh体验带到Windows上。而WSL(无论1/2)与Windows的用户目录不共通,导致大量用户相关内容需要重复配置(比如ssh密钥)。所以,我认为WSL所带来的体验是不完整的。
但我们还有msys2。
但是msys2和Git for Windows存在命名冲突,即相同的软件会同时存在。虽然这样可以使用,但是并不优美。况且某些IDE(例如idea)只认Git for Windows的Git,而Git for Windows本身就是msys2的一个最小子集,我们不如考虑把两者集成起来。
因此,便有了今天这篇教程。
首先,安装Windows下的包管理器——Chocolatey:
依照官网安装命令安装即可。
之后,利用choco安装Git for Windows:
执行命令 choco install git
这样,Git Bash就安装完成了。
等等,我们需要Git Zsh,你装个Git Bash有什么用?
Git Bash只是个引子,我们要做的,是「ntr」bash,将其替换为zsh。
由于msys2采用pacman包管理器,而pacman的打包方式较为简单,直接解压即可安装,因此,我们可以通过解压缩文件来为没有包管理器的Git for Windows安装软件包!
从msys2项目官网下载zsh软件包,利用你的压缩软件(这里我选用bandizip 7)解压缩到Git for Windows安装根目录。
点击File之后的链接即可下载
解压etc和usr文件夹到Git for Windows安装根目录(C:\Program Files\Git)。
打开Git-Bash输入zsh并回车,你发现你得到了一个可用的zsh。
接下来,我们要考虑怎样让这个zsh更好地与Windows系统集成。
从msys2.ico下载图标到Git for Windows安装根目录(C:\Program Files\Git)。
打开Windows Terminal设置,利用代码编辑器编辑json,粘贴以下部分:
{ "closeOnExit": "graceful", "commandline": "C:\\Program Files\\Git\\usr\\bin\\zsh-5.8.exe --login", "guid": "{8fc27f7a-7532-4e48-97cf-7d5df4cc40f0}", "historySize": 9001, "icon": "C:\\Program Files\\Git\\msys2.ico", "name": "MSYS2", "startingDirectory": "%USERPROFILE%" }
接着,修改Windows Terminal默认配置以默认启用Git-Zsh:
现在你的Windows Terminal已经可以打开Git-Zsh终端了。
接下来,安装Oh-My-Zsh:
这样你的Git-Zsh就算是打造完成了。但还是有点不太完美的地方,比如运行某些软件的时候会弹出关于LANG的提示:
我们需要编辑/etc/profile,加入以下代码:
export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8 export LC_ALL=en_US.UTF-8
每次启动时总会弹出烦人的
ERROR: this script is obsolete, please see git-completion.zsh
提示,这个又要怎么解决呢?
定位这句话在哪里,发现删除文件 /etc/profile.d/git-prompt.sh 即可。
这样,我们的Git-Zsh就算是完美了。
最后,我们来为它创建一个快捷方式:
目标:"C:\Program Files\Git\usr\bin\zsh-5.8.exe" --login
起始位置:"C:\Program Files\Git\usr\bin"
图标:%ProgramFiles%\Git\msys2.ico
创建于桌面即可。
这样,我们就能非常方便地打开Git-Zsh啦!
(本文完)
评论~ NOTHING