【问题标题】:emacs magit diff highlightingemacs magit 差异突出显示
【发布时间】:2017-01-24 05:51:38
【问题描述】:

我刚刚开始使用 magit。 我真的很喜欢它,除了差异查看器对我来说真的很烦人。块突出显示没有意义,因为当我滚动光标时,光标会随着屏幕移动,突出显示新区域。在 magit diff 模式下也没有其他语法突出显示。有谁知道如何禁用块突出显示并获得比灰色上的白色更好的差异颜色?

谢谢。

【问题讨论】:

    标签: emacs diff magit


    【解决方案1】:

    这是 Magit 与 Emacs 标准主题“wombat”结合时的问题。

    要解决此问题,请执行以下操作

    M-x customize
    

    搜索magit-item-highlight,点击Show All Attributes,取消选中Inherit,然后Save and Apply(或者可能只适用)。

    你失去了当前差异大块的突出显示,但你仍然可以从大块的标题中看出这一点,所以它有点多余。否则它很好地解决了这个问题。

    【讨论】:

    • 这样我也会在看起来有用的地方失去突出显示,例如在日志中......
    • 关于如何定制的非常有用的描述。帮助我成为 emacs 新手。
    【解决方案2】:

    突出显示的区域对应于当您点击“s”时将暂存的存储区。

    在大块内部,差异应该是彩色的。您可以测试开发版本(参见https://github.com/magit/magit),如果这不能解决您的问题,请在https://github.com/magit/magit/issues/133 中添加关于您的配置和确切问题的评论。

    【讨论】:

    • 不知道它应该默认开启。做了一些挖掘,结果发现我的 emacs 颜色主题妨碍了我。禁用它,它会好一点。灰色突出显示仍然会洗掉文本,但我可以处理它,并且最终可能会修复它。
    【解决方案3】:

    应该有一个自定义组 magit,它允许您为差异查看器自定义所有不同的面孔。

    换句话说,你可以运行

    M-x customize-group RET magit-faces RET
    

    查看 Magit 使用的所有面孔的列表。与差异查看器相关的当然是以Magit Diff 开头的那些。

    只需自定义并选择Apply and Save。或者,您可以使用自定义界面查看可用的面,然后在您的 init 文件中直接使用 set-face-foregroundset-face-background 等设置它们。

    【讨论】:

    • 这里有一些细节会很好
    【解决方案4】:

    如果您运行的是最新的 1.0 版本,您还可以导航到任何差异块,按“e”键以获取差异的 ediff 演示。

    【讨论】:

    • 我正在运行 1.0 版。在状态缓冲区中按 e 表示“无法解析大块”或“无法解析
    【解决方案5】:

    如果您出于某种原因不想尝试 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)
    

    来源:https://github.com/magit/magit/issues/133

    【讨论】:

      猜你喜欢
      • 2016-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 2023-03-25
      • 1970-01-01
      • 2016-04-29
      相关资源
      最近更新 更多