~hanwen >_

从终端启动 Magit

我用下面这段脚本从终端在当前目录打开 Magit:

#!/usr/bin/env bash
git_root=$(git rev-parse --show-toplevel)
emacsclient -c -n -a emacs -e "(progn (magit-status \"${git_root}\") (delete-other-windows))"
if [[ -f `which osascript` ]]; then
osascript -e "tell application \"Emacs\" to activate"
fi

我把这段脚本放在 PATH 里,命名为 magit,这样就可以在终端中直接打开 Magit。这段脚本大部分来自Christian Tietze 的文章,但我对其进行了修改,使其创建一个新 frame,并且只显示 Magit 状态的一个 window。一个变种是,如果将 -c -n 替换为 -nw 并去除唤起窗口的部分,就可以直接在 TTY Emacs 中打开 Magit。