MSYS2 官网: https://www.msys2.org/
编辑 /etc/pacman.d/mirrorlist.mingw32
, 在文件开头添加:
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686
编辑 /etc/pacman.d/mirrorlist.mingw64
, 在文件开头添加:
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64
编辑 /etc/pacman.d/mirrorlist.msys
, 在文件开头添加:
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch
然后执行 pacman -Sy
更新本地包数据即可。
pacman 的显示输出默认是黑白的, 东西一多难免有点乱。所以建议开启颜色。在 pacman.conf
中去掉 color
的注释即可
vim /etc/pacman.conf
msys64\etc\fstab
比如配置 C:\Users\lenovo\Desktop /desktop
后, 可以在终端直接 cd /desktop
后可以直接切换到 C:\Users\lenovo\Desktop
目录下。
MSYS2 有三个执行脚本, 分别是 msys2_shell.bat
、mingw32_shell.bat
和 mingw64_shell.bat
, 查看内容可以看到其中只有一行区别, 即是设定 MSYSTEM
变量。这个变量在 /etc/profile
中会用到:
可见, 三个 .bat
的区别就是 PATH
的设置, mingw32_shell.bat
优先使用 msys64/mingw32
下的工具, mingw64_shell.bat
优先使用 msys64/mingw64
下的工具, 而 msys2_shell.bat
两个都不使用, 只用自身 msys 的工具。这么做的好处是当需要编译 32bit Target 的项目时使用 mingw32_shell.bat
, 64 bit 使用 mingw64_shell.bat
, 各套工具互不干扰。
将 msys64\etc\skel.vimrc
拷贝到用户目录下。
msys64\usr\bin\mintty.exe
拖拽到任务栏上, 右击选择属性, 将目标改成三种 BAT 脚本中的一个。
msys2.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\Mingw64]
@="MinGW &64 Bash Here"
"Icon"="D:\\msys64\\msys2.ico"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Mingw64\command]
@="D:\\msys64\\msys2_shell.cmd -mingw64 -here"
zsh
和 oh my zsh
zsh
的提示很爽的, 所以推荐用 zsh
把默认的 bash 换掉。oh my zsh
是简化 zsh
配置的工具。首先通过 pacman 安装 zsh
, 因为一会安装 oh my zsh
的时候会用到 git, 所以也一并装了。
pacman -Syu
pacman -S zsh git
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
在 .bash_profile 文件最后一行添加:
zsh
其实默认 oh my zsh(以下简称 zsh) 已经在安装的时候就帮我们下载好了所有插件, 只不过需要用户自己选择启用哪个. 根据官网的说明, 需要做的很少, 下面就来实际操作一下吧.
打开文件 ~/.zshrc
, 其中有如下行:
plugins=(git)
将需要的插件按空格分开, 放于此处即可。我的配置如下:
plugins=(git extract z sublime)
修改完后, 如果需要在当前 shell 中生效, 需要执行
source ~/.zshrc
方法一: 直接查看 github 的 zsh 官网
方法二: 因为 zsh 在安装的时候帮我们下载了所有插件, 所以也可以本地查看. 进到默认插件目录: cd ~/.oh-my-zsh/plugins
zsh-autosuggestions
自动补全插件.oh-my-zsh
的插件目录git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
.zshrc
文件找到 plugins=(git)
这一行, 如果没有添加。更改为如下
plugins=(git zsh-autosuggestions)
incr
也是自动补全插件下载自动补全插件 http://mimosa-pudica.net/src/incr-0.2.zsh
放到 oh-my-zsh
的插件库中
.oh-my-zsh/plugins/
创建 incr
文件夹放到该文件夹中
在 .zshrc
文件末尾添加下面这行
source ~/.oh-my-zsh/plugins/incr/incr*.zsh
pacman 是 MSYS2 自带的软件管理工具。同时, pacman 也是 ArchLinux 上的包管理器。关于 pacman 的详细使用说明可以参考 ArchWiki 上的这篇 文章。
命令 | 功能 |
---|---|
pacman -Q | 查看已安装的软件包 |
pacman -S -g | 查看软件组 |
pacman -Q -g base-devel | 查看软件组包含的软件 |
pacman -Q -l vim | 查询软件包的内容 |
pacman -Q -s nettle | 查询软件所在的包 |
查看工具帮助:
pacman -h
pacman -S -h
通过安装软件组来安装工具链:
pacman -S mingw-w64-x86_64-toolchain
pacman -S base-devel
pacman -S vim
pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl
之后需要关闭所有 MSYS2 shell, 然后重新运行。
pacman -Su
MSYS2 官网的软件包是通过 makepkg
或 makepkg-mingw
制作的。
可参:
MINGW_INSTALLS=mingw64 makepkg -sLf --skippgpcheck
常用软件包我们可以简单的使用命令直接从官网安装即可, 比如安装 openssl:
32bit: pacman -S mingw-w64-i686-openssl
64bit: pacman -S mingw-w64-x86_64-openssl
有时候根据项目需要我们不得不自己动手编译依赖的软件包, 以下是我在工作用到的库编译过程记录。
mkdir openssl64
cd openssl64
tar zxvf openssl-1.0.2c.tar.gz
cd openssl-1.0.2c
./configure mingw64 shared
make
make INSTALL_PREFIX=../ install
mkdir openssl32
cd openssl32
tar zxvf openssl-1.0.2c.tar.gz
cd openssl-1.0.2c
./configure mingw shared
make
make INSTALL_PREFIX=../ install
mkdir zlib32
cd zlib32
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8/
make -f ./win32/Makefile.gcc
make
make install -f win32/Makefile.gcc DESTDIR=../