Windows安装zsh
在mac和linux下体验过zsh+ohmyzsh的爽快后就一直在想给Windows下也装上。
当然最简单的方式就是使用wsl安装,不过由于各种原因,我放弃了wsl,而是选择使用的MSYS2
MSYS2
安装
下载MSYS2 https://www.msys2.org/ 或者 http://repo.msys2.org/distrib/
根据提示安装即可
修改home目录为Windows home目录
修改/etc/nsswitch.conf
db_home: windows
安装zsh
pacman -S zsh
由于msys2 指定 MSYSCON
为 defterm
时默认是执行bash.exe, 我们简单地把 C:\msys64\msys2_shell.cmd
大概第5行的bash改成zsh即可:
set "LOGINSHELL=zsh"
接下安装ohmyzsh这里就不再赘述了。
配置到Windows Terminal
在settings.json
文件中加入MSYS2
的参数
{
"guid": "{651a79f4-53f6-47ff-88e0-8734957a81c5}",
"hidden": false,
"name": "MSYS2",
"icon": "C:/msys64/msys2.ico",
"startingDirectory": "%HOMEDRIVE%%HOMEPATH%",
"fontFace": "Cascadia Code PL",
"commandline": "C:/msys64/msys2_shell.cmd -defterm -no-start -use-full-path -here -mingw64"
}
字体注意换成自己的已有的。
commandline
命令解释
-mingw64
告诉 MSYS2 这个启动脚本,我们要启动的是mingw64, 不是mingw32, 也不是默认的msys2.
-defterm
表示要启动的是bash,当然前面我们已经通过hacking方法让它默认变成了zsh了。
-no-start
表示不通过start
命令来启动(因为这地弹出一个新的黑框框窗口,而我们的目的是要在Windows Terminal里跑的)
-use-full-path
或 set MSYS2_PATH_TYPE=inherit
表示,我们在mingw64下面的时候, PATH
环境变量的值继承自windows系统的环境变量。
-here
就是set CHERE_INVOKING=1
的意思。
clash代理配置
使用clashTAP模式后,就不需要在终端设置proxy
,很方便。
在profile
中添加(或在Mixinl中添加)
mixin:
dns:
enable: true
enhanced-mode: redir-host # 或 fake-ip
listen: 0.0.0.0:53
nameserver:
- 223.5.5.5
interface-name: WLAN # 物理网卡名称,可以不设置
然后在面板中TAP Device
安装TAP网卡,安装完成可在系统网络连接中看到名为cfw-tap
的网卡,显示并为已连接状态。
完成,可以在win下使用zsh了。