在Windows上开箱即用的类 Linux 环境中, babun 和 msys2 是两个不错的选择。而我使用对比后,感觉还是 msys2 速度比较快一点。下面记录下安装配置 msys2 的过程。

安装 msys2

msys2官网 下载安装 msys2

更换 pacman 源

为了使 pacman 更快地更新下载包,更换为国内的 ustc 源

编辑 msys2 目录下的 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:

Server = http://mirrors.ustc.edu.cn/msys2/REPOS/MINGW/i686

编辑 msys2 目录下的 /etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加:

Server = http://mirrors.ustc.edu.cn/msys2/REPOS/MINGW/x86_64

编辑 msys2 目录下的 /etc/pacman.d/mirrorlist.msys ,在文件开头添加:

Server = http://mirrors.ustc.edu.cn/msys2/REPOS/MSYS2/$arch

然后执行 pacman -Syu 刷新软件包数据。

安装基本编译套件

pacman -S gcc base-devel

安装 git

pacman -S git
# 强制卸载git依赖的Vim(因为无lua支持)
pacman -Rdd vim

编译安装 Vim

编译 Lua

curl -R -O http://www.lua.org/ftp/lua-5.3.2.tar.gz
tar zxf lua-5.3.2.tar.gz
cd lua-5.3.2/src
make mingw && cd .. && make install

编译 Vim

安装依赖

pacman -S ncurses-devel

编译

git clone https://github.com/vim/vim
cd vim/src

./configure --prefix=/usr --with-features=huge --with-tlib=ncursesw --enable-luainterp --with-lua-prefix=/usr/local --disable-gui --disable-tclinterp --enable-cscope --without-x CPPFLAGS="${CPPFLAGS} -I/usr/include/ncursesw" --enable-python3interp=dynamic --enable-rubyinterp=dynamic --enable-pythoninterp=dynamic --enable-multibyte --with-compiledby=lucyfour

cd .. && make install

安装 zsh

安装 zsh

pacman -S zsh

安装 oh-my-zsh

sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

更改 zsh 为默认 shell

在 msys2 中,无法用 chsh 命令更换默认 shell,要用以下方法

编辑 /etc/nsswitch.conf,添加

db_shell: /bin/zsh