如何防止 `magit-visit-thing` 打开 `evil-mode` 缓冲区
How to prevent `magit-visit-thing` to open an `evil-mode` buffer
evil-mode
有 evil-emacs-state-modes
var,它定义了在 emacs
模式下打开的模式。
我在那个 var 中列出了 magit-diff-mode
(事实上,它是默认值)。
运行 magit-diff
在 emacs
模式下正确打开。
但是,如果我 运行 magit-status
(在 emacs mode
中打开),请将点放在 Head
(缓冲区的第一行)上并点击 Ret, magit-visit-thing
被调用并且提交信息显示在新缓冲区中。此缓冲区在 magit-diff-mode
中,但是 evil-mode
对于此缓冲区处于活动状态。
如何防止这种行为?
正如我们在评论中发现的那样 - 缓冲区在 magit-revision-mode
中打开,而不是在 magit-diff-mode
.
中打开
要找出缓冲区的主要模式,请描述变量 major-mode
- C-h v major-mode <RET>
.
请注意,当您执行 describe-mode
而不是 (C-h m
) 时,您看到的模式名称是出现在状态行中的字符串。可能很难从中猜出实际的模式名称是什么 - 比如 Magit Rev
实际上是 magit-revision-mode
的字符串 - 除非你查看 magit-diff.el
:[=20= 否则无法知道]
define-derived-mode magit-revision-mode magit-diff-mode "Magit Rev"
evil-mode
有 evil-emacs-state-modes
var,它定义了在 emacs
模式下打开的模式。
我在那个 var 中列出了 magit-diff-mode
(事实上,它是默认值)。
运行 magit-diff
在 emacs
模式下正确打开。
但是,如果我 运行 magit-status
(在 emacs mode
中打开),请将点放在 Head
(缓冲区的第一行)上并点击 Ret, magit-visit-thing
被调用并且提交信息显示在新缓冲区中。此缓冲区在 magit-diff-mode
中,但是 evil-mode
对于此缓冲区处于活动状态。
如何防止这种行为?
正如我们在评论中发现的那样 - 缓冲区在 magit-revision-mode
中打开,而不是在 magit-diff-mode
.
要找出缓冲区的主要模式,请描述变量 major-mode
- C-h v major-mode <RET>
.
请注意,当您执行 describe-mode
而不是 (C-h m
) 时,您看到的模式名称是出现在状态行中的字符串。可能很难从中猜出实际的模式名称是什么 - 比如 Magit Rev
实际上是 magit-revision-mode
的字符串 - 除非你查看 magit-diff.el
:[=20= 否则无法知道]
define-derived-mode magit-revision-mode magit-diff-mode "Magit Rev"