Windows也能使用zsh啦~~~


1. 前言

大概两年前在安卓上完Termux时,接触到了zsh后,觉得挺好玩,敲命令的效率大幅度提高。

Termux在安卓上提供了不需要root权限的linux环境,提供了包管理功能,还可以基于它安装真正的linux系统,感兴趣的同学可以去FDroid APP上下载体验。

一直以来都想在Windows上安装zsh,但是网上查找的资料,都是先安装WSL子系统,借助linux系统来安装zsh,这还是在linux下玩,不能执行windows环境下的任何命令。

很早之前在Windows上安装git时,就发现安装流程中有msys2的字眼。
有心的我,去查了下git和msys2的关系,才知道Windows下的git-bash环境就是基于msys2来做的,而msys2本事就可以看成一个虚拟的linux系统,所以我们才能在git-bash上使用众多的linux命令。

可是随着git安装包一起安装的msys2是阉割版的,不支持包管理功能,也就是不能在git-bash上像linux一样安装软件。

最近才想到,重新安装一个msys2系统应该就可以了,然后利用msys2安装zsh。

2. 下载和安装msys2

msys2下载链接为:https://repo.msys2.org/distrib/x86_64

为方便同学们下载,我已经上传到了CSDN,点击下载

下载完成后直接安装即可,安装流程不再演示。

默认安装在C:\msys64目录下,进去后可看到,它的目录结构和linux几乎很像了。
安装时,还会根据你原来Windows的用户名,按照linux的目录结构,在home目录下创建一个同名的用户目录,如下图所示:
在这里插入图片描述

启动msys2后如下图所示。
在这里插入图片描述
在Windows下用git的同学都知道,刚刚安装完的git-bash启动后也是这个亚子(git-bash果然是和msys2同源的),很丑有木有,呕~~~

3. 美化msys2终端的主题

前言中说道,git-bash是基于msys2的。
我一直都有自己的一套git-bash配置文件,想着这个配置文件肯定是直接其内置的msys2的。

抱着试一试的心态,把我的git-bash的配置文件拷贝到msys2的$HOME目录下(即home/username,下面都写作$HOME)。
重新启动msys2后,果然变得和我的git-bash一样好看了,如下图所示。
在这里插入图片描述配置文件已经上传至CSDN,点击下载

4. 安装zsh

在msys2的终端环境里键入以下命令并回车,即自动安装zsh:

pacman -S zsh

安装完成后,键入zsh,即可启动zsh。

5. 配置zsh自启动

每次启动msys2后都手动键入命令来启动zsh,还挺麻烦。

打开$HOME下的.bashrc文件,在其最后新增一行如下内容即可实现自启动:

exec zsh

6. 安装ohmyzsh

ohmyzsh为我们提供了zsh的全套配置和插件,用来增强zsh的功能。

网上有很多安装ohmyzsh的教程,大都是用wget或curl来下载,但是我在家和公司的网络环境,完全不能访问其地址。

推荐从github下载。
没安装git的,正好趁着热乎劲,是用msys2安装git,命令如下:

pacman -S git

ohmyzsh的具体安装流程如下。

6.1 下载ohmyzsh

git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

6.2 拷贝.zshrc到$HOME

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

6.3 根据需要修改zsh的主题

打开$HOME下的.zshrc,找到包含ZSH_THEME=的这一行(一般是第11行),修改为自己喜欢的主题。

zsh的众多主题见链接:https://github.com/ohmyzsh/ohmyzsh/wiki/Themes

7. 装载常用插件

ohmyzsh插件在$HOME/.oh-my-zsh/plugins目录下,后续操作都是在该目录下。

7.1 zsh-autosuggestions

  1. 进入到插件目录,执行以下命令,拉取插件
    git clone https://github.com/zsh-users/zsh-autosuggestions.git
    
  2. 修改.zshrc配置文件
    找到plugins=(...)所在行(大概73行左右),括号中的...是为了书写方便,一般默认填充一个git插件。
    以空格作为分隔符,在后面追加zsh-autosuggestions即可,追加完后如下:
    plugins=(git zsh-autosuggestions)
    

7.2 zsh-syntax-highlighting

  1. 进入到插件目录,执行以下命令,拉取插件
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
    
  2. 修改.zshrc配置文件
    找到plugins=(...)所在行(大概73行左右),括号中的...是为了书写方便,一般默认填充一个git插件。
    以空格作为分隔符,在后面追加zsh-syntax-highlighting即可,追加完后如下:
    plugins=(git zsh-syntax-highlighting)
    

7.3 extract

ohmyzsh已经自带该插件,只需将其添加到插件列表中即可,添加完后如下:

plugins=(extract git)

以上步骤添加完各种插件后,插件列表的值如下:

plugins=(extract git zsh-autosuggestions zsh-syntax-highlighting)

接下来就可以体验zsh带来的便捷啦~~~

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐