MSYS 2

如果用习惯了 Linux 上的 POSIX 兼容的命令行工具, 在切换到 CMD/Powershell 的编码风格无疑是痛苦的, 经典的方案是 MinGW/Cygwin 这样的转换工具, 这里我们使用一个比较新的类 MinGW 工具 MSYS2, 它不仅包含了 MinGW, 也有自己的一套 Linux 虚拟环境, 还从著名的 Arch Linux 借用了包管理器 pacman, 个人感觉比 MinGW 的包管理器 (类 apt)好用不是一点点, 也有国内的镜像可供选择.

MSYS 2: Installation

  1. MSYS2 首页上就有下载链接, 直接下载安装即可.
  2. 安装后就可以在开始菜单里找到 MSYS 2 虚拟环境了 (还附送了 MinGW 32/64)
  3. 但是谁会喜欢黑底白字还是宋体的英文呢? 建议配合 Windows Terminal 食用, 这里有和 WT 配合的文档, 具体来讲, 在 Windows Terminal 里的设置中如下的修改, 不用重启 WT 就能在其中新建 MSYS2标签页了!
"defaultProfile": "{17da3cac-b318-431e-8a3e-7fcdefe6d114}",  
"profiles": {  
"list":  
[  
    // ...(你原来的shells, 如CMD/PS)  
    {  
    "guid": "{17da3cac-b318-431e-8a3e-7fcdefe6d114}",  
    "name": "MINGW64 / MSYS2",  
    "commandline": "C:/msys64/msys2_shell.cmd -defterm -here -no-start -mingw64",  
    "startingDirectory": "C:/msys64/home/%USERNAME%",  
    "icon": "C:/msys64/mingw64.ico",  
    "fontFace": "Lucida Console",  
    "fontSize": 9  
    },  
    {  
    "guid": "{2d51fdc4-a03b-4efe-81bc-722b7f6f3820}",  
    "name": "MINGW32 / MSYS2",  
    "commandline": "C:/msys64/msys2_shell.cmd -defterm -here -no-start -mingw32",  
    "startingDirectory": "C:/msys64/home/%USERNAME%",  
    "icon": "C:/msys64/mingw32.ico",  
    "fontFace": "Lucida Console",  
    "fontSize": 9  
    },  
    {  
    "guid": "{71160544-14d8-4194-af25-d05feeac7233}",  
    "name": "MSYS / MSYS2",  
    "commandline": "C:/msys64/msys2_shell.cmd -defterm -here -no-start -msys",  
    "startingDirectory": "C:/msys64/home/%USERNAME%",  
    "icon": "C:/msys64/msys2.ico",  
    "fontFace": "Lucida Console",  
    "fontSize": 9  
    },  
    // ...  
]  
}
  1. 现在你就可以在 WT 中打开并使用 MSYS 2 了! Give it a try!
  2. Windodws 中设置环境 HOME 到用户目录
  3. Note: 在 MSYS 2 (MinGW 同样)中, 你的原磁盘文件都会被翻译成 Linux 风格的路径!
    • e.g.: C:\path\to\file => /c/path/to/file

Pacman 换源

为了更快的获得软件包, 建议设置 pacman 镜像, 可以使用清华的 TUNA镜像或者是 BFSU 的 TUNA 镜像的镜像

简而言之, 就是在 pacman 的 mirror list 里加入对应的镜像源  
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch` 
管理员模式并且刷新 `pacman` 缓存:  
pacman -Sy

fish Shell

fish 是一个现代化的用户友好的 shell, 总之就是脚踢 bash, 拳打 zsh!

Installation

  1. 安装 fish
 pacman -S fish
  1. 将默认的 shell 从 bash 改成 fish, 修改 MSYS 2 的启动脚本, 它应该在 .../msys64安装路径/msys2_shell.cmd 这个位置:
set "LOGINSHELL=fish" # 原来是bash
  1. 并且你可能会想把 Windows 原来的 PATH 导入到 Linux 环境里, 同样修改上述启动脚本:
set MSYS2_PATH_TYPE=inherit # 原来是被注释的
  1. 安装 git, 这一步可能是可选的, 因为 oh-my-fish 可能需要非 Windows 的 git 实现.
pacman -S git
  • 进一步, 你可能需要配置 git 的全局代理, 否则无法 clone repository
git config --global http.proxy yourproxy:port
  1. 安装 oh-my-fish, 一个 fish 的简易包管理器
 curl -L https://get.oh-my.fish | fish
  1. 你基本上配置好了 fish 了! 现在你有了 omf (即 oh-my-fish 的缩写), 可以用来安装一些主题和插件!

omf install agnoster  
omf theme agnoster

其他软件

  • vim
  • emacs
  • fish
  • make
  • git