Windows 下最佳 shell 方案

最近有意把开发环境从 Mac OS 切到 Windows,毕竟 Windows 笔记本有那么多选择不是吗😁

之前有尝试过 Babun 能使用 zsh 确实不错,但是项目已经很久没维护了,而且性能极差。随后又试了 Cmder 效果也不理想,直到钱前两天通过尝试 Conemu + msys2 发现这可能是 windows 上使用 shell 的最佳方案,甚至能在这个方案下完美使用 oh-my-zsh

msys2

安装配置参考了: http://www.jianshu.com/p/c740b71e7775

  • 分别下载安装好 Conemu, msys2

  • 下载 msys-connector 将解压的 conemu-msys2-64.exe 文件放到 msys2 安装目录的 usr/bin 目录中去

  • 在 conemu 中新建一个 名为Bash::mysys2-connector 的 task 在 parameters 中填入

    1
    /icon "D:\Internal\msys2\msys2.ico"

    这个是设置 shell 的图标,注意替换路径,可选

  • 在 commands 中填入

    1
    set CHERE_INVOKING=1 & set HOME=C:\Users\Hugo & D:\Internal\msys2\usr\bin\conemu-msys2-64.exe -new_console /usr/bin/zsh -l -i

    注意替换路径,其中 set HOME 比较关键,msys2 安装好后 HOME 会是 msys2 安装目录下的 home/user 最好替换到 windows 的用户目录,以兼容其他软件和命令的使用

  • 这里启动的是 zsh 如果要使用 bash 自行替换可执行文件即可,zsh 需要用 msys2 的 pacman 安装,参考上面链接里的 pacman 的使用

  • 从 conemu 中启动刚才新建的 task,后面安装 oh-my-zsh 不在赘述跟在其他系统下安装方式一样

docker

这里单独提下在这个方案下使用 docker 的方法,只需要用 pacman 安装 winpty 包并创建一个 alias 即可,类似 docker run --rm -it docker exec -it docekr login 的命令都可以执行了

1
2
pacman -Ss winpty
alias docker='winpty docker'