Windows安装zsh(非wsl)

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 指定 MSYSCONdefterm 时默认是执行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-pathset 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了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值