1

我已将 Git 的“core.editor”配置设置为“emacsclient”,并在启动服务器的情况下运行 Emacs 会话。当我从终端运行“git commit”时,它会按预期在我的 Emacs 中打开一个新缓冲区,但该缓冲区始终处于“基本模式”。它曾经以 magit 用于编辑提交消息的任何模式打开,但这是一台新计算机,我只是不确定所有部分如何协同工作。我什至不清楚 magit 正在使用什么模式,因为它是次要模式的集合,而不是主要模式。所以我有点难过如何解决这个问题。

任何帮助表示赞赏!

4

3 回答 3

3

我不确定有什么magit用途,但vc应该使用log-edit-mode.

(require 'log-edit)
(require 'vc-git)
(add-to-list 'auto-mode-alist '("COMMIT_EDITMSG\\'" . vc-git-log-edit-mode))

我需要requires 真的很奇怪;Emacs 中要么存在错误,要么我正在做一些奇怪的事情(尽管对我来说这似乎并不奇怪)。

于 2016-06-01T22:54:58.553 回答
1

我遇到了同样的问题并在这里找到了解决方案:

https://emacs.stackexchange.com/a/17733/12560

其实我只需要添加

(global-git-commit-mode)

到我的初始化,它工作。

于 2016-07-05T16:26:55.467 回答
1

作为@bingen 答案的扩展,如果您是use-package用户,

(use-package git-commit
  :init
  (global-git-commit-mode)
  )

即使打开延迟加载也有效:

(setq
 use-package-always-defer t
 use-package-always-ensure t
 )
于 2016-12-04T18:09:51.473 回答