【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 官方教程

安装 WSL | Microsoft Docs


现在,可以在管理员 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

版权所有,如需转载请注明出处。

posted @ 2022-07-09 22:14  双份浓缩馥芮白  阅读(5917)  评论(0编辑  收藏  举报