【发布时间】:2017-01-24 05:51:38
【问题描述】:
我刚刚开始使用 magit。 我真的很喜欢它,除了差异查看器对我来说真的很烦人。块突出显示没有意义,因为当我滚动光标时,光标会随着屏幕移动,突出显示新区域。在 magit diff 模式下也没有其他语法突出显示。有谁知道如何禁用块突出显示并获得比灰色上的白色更好的差异颜色?
谢谢。
【问题讨论】:
我刚刚开始使用 magit。 我真的很喜欢它,除了差异查看器对我来说真的很烦人。块突出显示没有意义,因为当我滚动光标时,光标会随着屏幕移动,突出显示新区域。在 magit diff 模式下也没有其他语法突出显示。有谁知道如何禁用块突出显示并获得比灰色上的白色更好的差异颜色?
谢谢。
【问题讨论】:
这是 Magit 与 Emacs 标准主题“wombat”结合时的问题。
要解决此问题,请执行以下操作
M-x customize
搜索magit-item-highlight,点击Show All Attributes,取消选中Inherit,然后Save and Apply(或者可能只适用)。
你失去了当前差异大块的突出显示,但你仍然可以从大块的标题中看出这一点,所以它有点多余。否则它很好地解决了这个问题。
【讨论】:
突出显示的区域对应于当您点击“s”时将暂存的存储区。
在大块内部,差异应该是彩色的。您可以测试开发版本(参见https://github.com/magit/magit),如果这不能解决您的问题,请在https://github.com/magit/magit/issues/133 中添加关于您的配置和确切问题的评论。
【讨论】:
应该有一个自定义组 magit,它允许您为差异查看器自定义所有不同的面孔。
换句话说,你可以运行
M-x customize-group RET magit-faces RET
查看 Magit 使用的所有面孔的列表。与差异查看器相关的当然是以Magit Diff 开头的那些。
只需自定义并选择Apply and Save。或者,您可以使用自定义界面查看可用的面,然后在您的 init 文件中直接使用 set-face-foreground、set-face-background 等设置它们。
【讨论】:
如果您运行的是最新的 1.0 版本,您还可以导航到任何差异块,按“e”键以获取差异的 ediff 演示。
【讨论】:
如果您出于某种原因不想尝试 M-x customize,只需将以下 sn-p 放入您的 init.el
(defun disable-magit-highlight-in-buffer ()
(face-remap-add-relative 'magit-item-highlight '()))
(add-hook 'magit-status-mode-hook 'disable-magit-highlight-in-buffer)
【讨论】: