Как настроить подсветку в режиме сравнения Emacs? - PullRequest
6 голосов
/ 02 ноября 2010

Я использую режим mercurial.el с Emacs.Когда я запускаю vc-diff, я вижу различие, но, в отличие от исходного кода, оно не очень хорошо выделено:

Emacs vc-diff

Считать такие разности сложно.Как мне настроить Emacs,

  1. , чтобы выделить - и + строки разными цветами?(например, красный и синий)
  2. для выделения различий в словах (как это делают BitBucket и GitHub)

1 Ответ

14 голосов
/ 02 ноября 2010

Попробуйте использовать Mx 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))
...