一、安裝 MSYS2
先裝 MSYS2 的好處是之後可以將 $HOME 設為 /home/name/,再裝其他 *nix 系工具時設定檔都會放在 MSYS2 的 /home/name 下,方便管理。
1. 到 http://sourceforge.net/projects/msys2/ 下載安裝。
安裝位置設為 D:/develop/msys64
添加環境變數 HOME 為 D:\develop\msys64\home\name,這個變數非常有用,後面配置要多次用到。
2. 運行 msys2_shell.bat
pacman -Sy
更新當地套件資料
3. 升級核心包
pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl
之後需要關閉所有 MSYS2 shell,然後運行 autorebase.bat
4. 升級其他包
pacman -Su
運行環境說明:
可以看到 MSYS2 有三個執行指令碼,分別是 msys2_shell.bat、mingw32_shell.bat 和 mingw64_shell.bat,查看內容可以看到其中只有一行區別,即是設定 MSYSTEM 變數。這個變數在 /etc/profile 中會用到:
if [ -n "$MSYSTEM" ]then case "$MSYSTEM" in MINGW32) PATH="/mingw32/bin:${MSYS2_PATH}:${PATH}" PKG_CONFIG_PATH="/mingw32/lib/pkgconfig" MANPATH="/mingw32/share/man:${MANPATH}" TERMINFO=/mingw32/share/terminfo:${TERMINFO} ;; MINGW64) PATH="/mingw64/bin:${MSYS2_PATH}:${PATH}" PKG_CONFIG_PATH="/mingw64/lib/pkgconfig" MANPATH="/mingw64/share/man:${MANPATH}" TERMINFO=/mingw64/share/terminfo:${TERMINFO} ;; MSYS) PATH="${MSYS2_PATH}:/opt/bin:${PATH}" PKG_CONFIG_PATH="/usr/lib/pkgconfig:/lib/pkgconfig" TERMINFO=/usr/share/terminfo ;; *) PATH="${MSYS2_PATH}:${PATH}" ;; esacelse PATH="${MSYS2_PATH}:${PATH}"fi
可見,三個 .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,各套工具互不干擾。 二、安裝 GCC
隨便哪個 shell.bat 下都可以
1. 查看可用的安裝包
pacman -Sl | grep gcc
可以看到以下三個
mingw32 mingw-w64-i686-gcc 4.9.1-3mingw64 mingw-64-x86_64-gcc 4.9.1-3msys gcc 4.8.2-2
分別對應於 msys 的三個 .bat 環境。這裡先裝第一個,其他類似。
2. 安裝
pacman -S mingw-w64-i686-gcc
MSYS2 會自動將這個封裝在 msys64/mingw32 下,從之前的分析可知只有 mingw32_shell.bat 會用到這個目錄下的程式。
3. 運行
開啟 mingw32_shell.bat 來試一下:
gcc --versiongcc.exe (Rev3, Built by MSYS2 project) 4.9.1Copyright (C) 2014 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
三、安裝 Git
1. 下載 Git for Windows。安裝過程選擇 Git cheetah plug-in 和 Run Git from Windows Command Prompt,這樣 Vim 的 Vundle 外掛程式可以調用 git。
由於安裝 MSYS2 時已設定了 HOME 環境變數,Git 會自動將設定檔放在 HOME 下,將來在 MSYS2 中使用時共用一套配置,方便。
安裝 MSYS2 的 git:
pacman -S git
2. 設定 autocrlf 為 input。
git config --global core.autocrlf input
由於設定了 HOME 環境變數,可以使 gvim 和 MSYS2 的 vim 共用一套設定檔:~/.vimrc,外掛程式也可以統一放在 ~/.vim/ 下。在使用 Vundle 時,git clone 出的代碼是 unix 分行符號可以避免 MSYS2 vim 讀取 Vundle 外掛程式檔案時出錯。
3. KDiff3 用作 diff 和 merge 工具很方便,也一併裝了吧。裝好後配置 Git:
git config --global merge.tool kdiff3git config --global mergetool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe"
中間有空格也能正確處理。可以試一下 git mergetool 和 git difftool 看看是否配置正確了。為避免每次用 git difftool 時都提示確認,下面兩行也可以設一下:
git config --global mergetool.prompt falsegit config --global difftool.prompt false
四、安裝 gVim 並配置 Vundle 進行外掛程式管理
1. 安裝 gVim 到 D:\develop\Vim,組件選擇 full
2. 由於設定了 HOME 環境變數,就可以將 gvim 的配置統一放在 HOME 目錄下
將 Vim/vimfiles 下的所有檔案夾刪除,在 ~/.vim 下建立 bundle 檔案夾
3. 參考 Vundle.vim 的教程設定好 Git 的 Curl 指令碼:
https://github.com/gmarik/Vundle.vim/wiki/Vundle-for-Windows
4. 將 gmarik/Vundle.vim git clone 到 ~/.vim/bundle 下:
cd ~/.vim/bundlegit clone https://github.com/gmarik/Vundle.vim.git
5. 繼續參考 Vundle.vim 的教程修改 ~/.vimrc 檔案,將內容添加到開頭處。雖然是在 Windows 環境下使用 gvim,但由於設定了 HOME 環境變數,以下設定按 Lunix 配置更方便:
set rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin()
以後外掛程式會自動安裝在 $HOME/.vim/bundle 目錄下。
6. 修改 .vimrc 添加要安裝的外掛程式包,然後在 gVim 中運行
:PluginInstall
7. 現在可以使用 :h vundle 來查看 Vundle 的協助了。 五、其他配置
1. 將 gVim 目錄加入 Path 環境變數,設定 Git 使用 gvim 作為預設 editor:
git config --global core.editor gvim
2. 要將常用工作目錄映射到 MSYS2 的 ~ 下,可用 mount 命令(加入 .bash_profile 中):
mount -fo binary,noacl,posix=0,user D:/docs ~/docs