# 在MSYS2的ZSH中显示当前编译平台 `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.