如何在Emacs的diff模式中配置高亮显示?

6
我使用 Emacs 中的 mercurial.el 模式。当我运行 vc-diff 时,可以看到差异,但与源代码不同的是,它没有很好地突出显示:
阅读这样的差异很困难。如何配置 Emacs,
1. 用不同的颜色(例如红色和蓝色)突出显示 - 和 + 行? 2. 突出显示单词差异(像 BitBucket 和 GitHub 一样)
1个回答

15

请尝试使用M-x ediff-revision,它会执行ediff而不仅仅是普通的diff。这将给出单词差异和并排(或上下)显示。请查看ediff手册

Emacs维基还有许多用于普通diff文件(如您正在查看的文件)的模式 - 查看一下

如果只想更改当前使用的diff-mode中的颜色,可以执行以下操作:

(defun update-diff-colors ()
  "update the colors for diff faces"
  (set-face-attribute 'diff-added nil
                      :foreground "white" :background "blue")
  (set-face-attribute 'diff-removed nil
                      :foreground "white" :background "red3")
  (set-face-attribute 'diff-changed nil
                      :foreground "white" :background "purple"))
(eval-after-load "diff-mode"
  '(update-diff-colors))

1
我检查了在终端下添加/删除的“DarkGreen”和“DarkRed”颜色,在4-/8-bit(16/256色)终端中,两种颜色看起来都非常好! - gavenkoa
感谢您提供可复制粘贴的示例以及文档链接。 - taranaki

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接