16

在我的.bash_profile中,我使用这个:

export EDITOR=emacsclient
alias e='emacsclient -t'

当我使用 Git 提交更改时,它将打开一个新的 emacs 窗口,但带有emacs --daemon. 如何将我的默认 Git 编辑器设置为启用了 t 标志的 emacs?

4

4 回答 4

20
git config --global core.editor 'emacsclient -t -a=\"\"'

如果还没有运行守护进程,这将启动一个守护进程。

您可能在使用引号时遇到问题,因为它在我的 .gitconfig 中显示为

[core]
    editor = emacsclient -t -a=\\\"\\\"
于 2012-05-10T02:29:48.893 回答
5
export GIT_EDITOR="`which emacsclient` -t -s $EMACS_SERVER_FILE"

在调用 EDITOR 或 GIT_EDITOR 之前,git 似乎与 PATH 变量混为一谈,因此即使通常会调用来自最新 Emacs 的 emacsclient,也会调用来自 /usr/bin 的内置 emacsclient。我通过从一个我相信有自己的环境的子进程获取可执行文件的路径来解决这个问题(无论它如何工作......)。

在 OS X 10.8.2 上测试,本地构建 Emacs 24.1,服务器运行,客户端通过套接字连接。

我还没有测试过 tcp 客户端。

于 2012-10-03T16:34:03.630 回答
2

我通常不会说“阅读那本精美的手册”,但在这种情况下它只是适用。git commit --help关于这个话题有这样的说法:

ENVIRONMENT AND CONFIGURATION VARIABLES
   The editor used to edit the commit log message will be chosen
   from the GIT_EDITOR environment variable, the core.editor configuration
   variable, the VISUAL environment variable, or the EDITOR environment
   variable (in that order). See git-var(1) for details.
于 2012-04-28T00:20:35.790 回答
1

真正的原因是emacs的版本。mac上有一个默认的emacs,该版本没有选项“-t”。另外,git似乎没有读取.bash_profile中的设置

于 2013-06-04T07:59:39.353 回答