【Windows】在Windows上使用zsh & zsh增强:自动建议&语法高亮
✨优秀的Terminal体验
因为在macOS上日常使用 iTerm2 + zsh
并且安装了oh-my-zsh、zsh-autosuggestions、zsh-syntax-highlighting
实现了自动建议、语法高亮
Terminal体验非常优秀
具体可阅读:
【macOS】zsh增强:自动建议&语法高亮 - 双份浓缩馥芮白 - 博客园 (cnblogs.com)
因此想要在Windows上拥有类似的Terminal体验
本文解决方案是通过 WSL + zsh
✨安装 WSL
Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu 14.04 "Trusty Tahr"映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。
安装方式可阅读:
【教程】Windows搭建Linux子系统(WSL)详细教程 - 双份浓缩馥芮白 - 博客园 (cnblogs.com)
目前新的Windows安装似乎没有这么麻烦
可查阅 Microsoft 官方教程
现在,可以在管理员 PowerShell 或 Windows 命令提示符中输入此命令,然后重启计算机来安装运行适用于 Linux 的 Windows 子系统 (WSL) 所需的全部内容。
PowerShell复制
wsl --install
此命令将启用所需的可选组件,下载最新的 Linux 内核,将 WSL 2 设置为默认值,并安装 Linux 发行版(默认安装 Ubuntu,请参阅下文更改此设置)。
笔者在Windows 11上直接运行了 wsl --install
就完成了WSL的安装
在完成Linux的基本配置后我们可以开始如下安装
✨安装 zsh
sudo apt-get update
sudo apt-get install zsh
更换zsh
为默认shell(默认情况下为bash
)
chsh -s /bin/zsh
似乎有可能遇到更换了默认shell后wsl启动仍然没有默认启动zsh
的情况
但是笔者没有遇到
如果有类似情况可以借助搜索引擎研究一下
首次运行zsh
后需要我们进行一些配置
我们选择 (2)
使用推荐的配置填充您的 ~/.zshrc由系统管理员退出(您需要编辑如果需要,可以手动创建文件)
查看当前zsh
配置
cat ~/.zshrc
如果需要重新配置只要删除.zshrc
就会再次出现首次运行zsh
时的选项
rm ~/.zshrc
✨安装 oh-my-zsh
Oh My Zsh - a delightful & open source framework for Zsh
开启 WSL 代理
需要 科 xue 上 wang 并且开启终端代理
请借助搜索引擎
如果使用的是 Clash for Windows
先要开启 “Allow LAN”
使用ipconfig
查看 以太网适配器 vEthernet (WSL) 的IP地址
!注意是在Windows系统下运行ipconfig
查看 以太网适配器 vEthernet (WSL)的IP地址
!不是在子系统使用ifconfig
中查看IP地址
然后可以使用如下命令开启终端代理
export https_proxy=http://${宿主机IP地址}:7890 http_proxy=http://${宿主机IP地址}:7890 all_proxy=socks5://${宿主机IP地址}:7890
!宿主机IP地址是指上一步查看到的IP地址
!注意如上命令仅单次会话生效
由于笔者没有一直开着代理的需求
没钱买梯子
如果有可以把上述命令写入.zshrc
如果还是没有开启终端代理则需要修改防火墙策略
修改防火墙策略
打开 Windows Defender 防火墙 -> 高级设置 -> Windows Defender 防火墙属性 -> 公用配置文件 -> 受保护的文件 -> 自定义
取消勾选 vEthernet (WSL)
没有这个选项就先开启 WSL
安装 oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
或者
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
✨自动建议
https://github.com/zsh-users/zsh-autosuggestions
安装
也可以使用Homebrew安装但在WSL上没必要
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
echo "source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ~/.zshrc
source ~/.zshrc
详细可参考:
https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md
效果
✨语法高亮
https://github.com/zsh-users/zsh-syntax-highlighting
安装
也可以使用Homebrew安装但在WSL上没必要
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.zsh/zsh-syntax-highlighting
echo "source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc
source ~/.zshrc
详细可参考:
https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md
效果
Fish shell-like syntax highlighting for Zsh.
命令错误状态
命令正确状态
✨vim语法高亮 & 显示行号
在Windows Terminal中的WSL上配置了以上内容后似乎已经支持了vim语法高亮,如果没有可以按照如下方式手动配置
配置
新建/编辑 .vimrc
文件
vim ~/.vimrc
写入如下
syntax on
set nu
wq
保存退出
syntax on
为语法高亮
set nu
为显示行号
效果
显示行号感觉用处不大所以没设置
⭐转载请注明出处
本文作者:双份浓缩馥芮白
原文链接:https://www.cnblogs.com/Flat-White/p/16462109.html
版权所有,如需转载请注明出处。