MSYS2
有三套体系:MINGW x64
、MINGW x64
和MSYS
,其中前两个是用于交叉编译,编译出来的程序独立运行不依赖MSYS 2
,实际上就是一套比较好用的windows版gcc
,最后一个则相当于一套好用点的cygwin
.
装好MSYS2之后很快就感觉到命令行不够爽了,于是依次装了git
,zsh
,oh-my-zsh
并且切换到了我最喜欢的agnoster
主题,但这时出来了一个问题:原本一直显示的一个命令提示,标着目前环境是MINGW x64
、MINGW x64
还是MSYS
的那一串字符,没了。有时候会造成误解,比较麻烦。
搜了一下,发现:
MINGW x64
、MINGW x64
还是MSYS
的信息,可以通过读MSYSTEM
变量获取。
zsh
的命令提示符,由一个prompt_context()
的bash函数控制,可以通过在.zshrc
里面放置这个函数来覆盖。
如果需要一直显示,可以如下编辑.zshrc
文件:
prompt_context() { #if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then # prompt_segment black default "%(!.%{%F{yellow}%}.)$USER" #fi prompt_segment black default "%(!.%{%F{yellow}%}.)$MSYSTEM" }
注释掉的部分不是原装的,而是用来仅对非默认用户显示提示符的,可以自行hack.