【问题标题】:How to prevent `magit-visit-thing` to open an `evil-mode` buffer如何防止 `magit-visit-thing` 打开 `evil-mode` 缓冲区
【发布时间】:2016-08-30 12:46:41
【问题描述】:

evil-modeevil-emacs-state-modes var,它定义了在emacs 模式下打开的模式。

我在那个 var 中列出了 magit-diff-mode(事实上,它是默认值)。

运行magit-diffemacs 模式下正确打开。

但是,如果我运行magit-status(在emacs mode 中打开),将点放在Head(缓冲区中的第一行)并点击Ret,则调用magit-visit-thing并且提交信息显示在新缓冲区中。此缓冲区位于 magit-diff-mode 中,但是,evil-mode 对此缓冲区处于活动状态。

如何防止这种行为?

【问题讨论】:

  • 您确定它在magit-diff-mode 中吗?因为我查过了,它在magit-revision-mode
  • 谢谢,你是对的。您如何查找当前模式名称?我通常按​​ C-h-m,这就是它给我的:Magit Rev mode defined in `magit-diff.el'
  • 请将您的评论转为回答,以便我接受。

标签: emacs evil-mode magit


【解决方案1】:

正如我们在 cmets 中发现的那样 - 缓冲区在 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,否则无法知道:

define-derived-mode magit-revision-mode magit-diff-mode "Magit Rev"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多