如何优雅地配置 Windows 环境下的 MSys2 + Git 开发环境?(下)

如何优雅地配置 Windows 环境下的 MSys2 + Git 开发环境?(下)

前情提要

忘忧北萱草:如何优雅地配置 Windows 环境下的 MSys2 + Git 开发环境?(上)zhuanlan.zhihu.com图标

最基础的调教

打开 MSys2,大概是这样子的:

看着还可以,就是字有点小这能忍吗?不能!

右键菜单里选择 Option... , \bold{打开}\enclose{horizontalstrike}{调教}\bold{选项}

把 Windows 选项中的 UI language 改为 zh_CN,点击 Save,然后就能发现右键菜单和选项窗口都变成中文的了。

设置前
设置后

接下来自由地设置喜欢的字体和字号(在“文本”选项中),喜欢的外观主题(在“外观”选项中)。最后,不要忘记设置终端为 256 色模式

啥?cmder 更好看?(( (//̀Д/́/) ))

我个人比较满意 Mintty 的效果,所以就没有换同类软件。

真香的后话:后来我还是换了 Conemu,毕竟能在打命令的时候舔 Saber(逃

色彩斑斓

看看我的 ls 是什么样的:

虽然配色很迷(可以自己改 /etc/DIR_COLORS,但是我居然想不出更好的配色方案),但是聊胜于无。其实配置的方法很简单,在 ~/.bashrc 里都写好了,只需去掉注释符 # 即可食用。(我这里是 102~107 行)

能加色彩的不仅是 ls 命令,pacman 也有色彩设置

编辑 /etc/pacman.conf ,找到 # Misc Option,在其有一行 #Color,依旧删去注释即可食用。打句命令试试:

好吧配色依旧很迷……毕竟只有 16 色,不要奢求好到哪去。


显示 Git 分支名称

打开一个 Git 仓库看看:

是不是感觉少了点啥?在 Git for Windows 里,进入 Git 仓库会显示分支名称的。

这么重要的东西,当然要自己调教。

打开 ~/.bashrc ,在结尾添加:

# show git branch name
function git-branch-name() {
  git symbolic-ref HEAD 2>/dev/null | cut -d"/" -f 3
}
function git-branch-prompt() {
  local branch=`git-branch-name`
  if [ $branch ]; then
    printf "(%s)" $branch
  fi
}
function get-PS1() {
  local branchname=`git-branch-prompt`
  printf "\n\e[32m%s\e[36m%s\e[35m %s \e[33m%s\e[36m %s \e[0m \n%s " "\u" "[\#]" "MSYS" "\w" $(git-branch-prompt) "\$"
}
function show-PS1() {
  if [ -d "$(pwd)/.git" ]; then
    export PS1=`get-PS1`
  else
    export PS1="\n\[\e[32m\]\u\[\e[36m\][\#]\[\e[35m\] MSYS \[\e[33m\w\]\[\e[0m\] \n\$ "
  fi
}
function cd(){
  builtin cd "$@" && show-PS1
}
show-PS1

有点复杂就是了。(毕竟是我研究三日玄学、多方查找资料得出的成果。)

至于这样写可行的原因,就留做习题吧。

然后,使用命令 \texttt{source ~/.bashrc} 重新载入配置,就能发现变化了。

虽然还有很多 bug 就是了(逃


Git Bash Here

“Git Bash Here”是 Git for Windows 上一个非常实用的功能。然而我们的实现并没有这个功能。这能忍吗?不能!

这么好用功能当然要自己调教啦~

\bbox[white,3px, border:1px solid black]{\texttt{win}}\,\texttt{+}\,\texttt{R} 打开运行窗口,输入 \texttt{regedit} ,回车,打开注册表编辑器。

  • 找到 \texttt{HKEY_CLASSES_ROOT\Directory\Background\shell},在这里新建一个项,名字自拟,比如叫“open in git”。设置这个项的默认值为“Git Bash Here”。
  • 在这个项中新建字符串值“Icon”,值是 Git 的图标的路径(从网上下载一个)。
  • 在这个项下新建一个名为“command”的子项,其值为“C:\msys32\msys2_shell.cmd -here”(这里要改成你自己的安装目录)。

在桌面或者文件夹的空白处右键试试,是不是可以了?

但是,使用这种方法启动时,会有一个一闪而过的命令提示符窗口。这能忍吗?不能!

找个地方新建一个 msys2_here.vbs,内容为:

set ws=WScript.CreateObject("WScript.shell")
ws.Run "C:\msys32\msys2_shell.cmd -here", 0

同样,这里的路径要改成你自己的安装路径。

然后修改注册表中刚才建立的“command”项的值为“WScript msys2_here.vbs 的路径”。这样启动时就没有命令提示符窗口了

另外,设置 \texttt{HKEY_CLASSES_ROOT\Folder\shell} 注册表项可以实现右键点击文件夹时有“Git Bash Here”选项。具体的方法大同小异,看各位的悟性咯~


以上。

好像看起来也不怎么优雅诶。

以后再有需要配置的地方再加好了。

(封面PID:27628204)

编辑于 2018-12-09