emacs magit diff подсветка

Я только начинаю работать с магитом. Мне это очень нравится, за исключением того, что просмотрщик различий меня действительно раздражает. Выделение фрагментов не имеет смысла, потому что при прокрутке курсор перемещается вместе с экраном, выделяя новые области. Также нет другой подсветки синтаксиса в режиме Magit diff. Кто-нибудь знает, как отключить подсветку фрагментов и получить лучшие цвета diff, отличные от белого на сером?

Спасибо.


person Chris H    schedule 11.05.2011    source источник


Ответы (5)


Должна быть настроенная группа magit, которая позволяет вам настраивать все различные лица для средства просмотра различий.

Другими словами, вы можете запустить

M-x customize-group RET magit-faces RET

чтобы увидеть список всех лиц, используемых Magit. Те, что относятся к средству просмотра различий, конечно же, начинаются с Magit Diff.

Просто настройте и выберите Apply and Save. Кроме того, вы можете просто использовать интерфейс настройки, чтобы увидеть, какие лица доступны, а затем установить их напрямую, используя set-face-foreground, set-face-background и т. д. в вашем файле инициализации.

person mbeenen    schedule 14.05.2011
comment
Некоторые детали здесь были бы хороши - person unohoo; 28.07.2014

Это проблема с Magit в сочетании со стандартной темой Emacs «Wombat».

Чтобы обойти это, выполните

M-x customize

Найдите magit-item-highlight, нажмите Show All Attributes, снимите флажок Inherit, затем Save and Apply (или, может быть, только применить).

Вы теряете выделение текущего куска diff, но вы все равно можете сказать это по заголовку куска, так что это было несколько избыточно. В противном случае это решает проблему красиво.

person febeling    schedule 15.05.2013
comment
Таким образом, я также теряю подсветку в тех местах, где это кажется полезным, например, в журналах... - person doublep; 04.05.2015
comment
Очень полезное описание по настройке. Помог мне как новичку в emacs. - person Srikanth Kyatham; 03.06.2015

Выделенная зона соответствует тайнику, который будет создан, когда вы нажмете «s».

Внутри куска diff должен быть окрашен. Вы можете протестировать разрабатываемую версию (см. https://github.com/magit/magit), и если это не решает вашу проблему, добавьте комментарий в https://github.com/magit/magit/issues/133 о вашей конфигурации и точной проблеме.

person Rémi    schedule 11.05.2011
comment
Не знал, что он должен быть включен по умолчанию. Немного покопался, и оказалось, что моя цветовая тема emacs мешала. Отключил и стало немного лучше. Серое выделение по-прежнему размывает текст, но я могу с этим справиться и, возможно, в конце концов это исправлю. - person Chris H; 11.05.2011

Если вы используете последнюю версию 1.0, вы также можете перейти к любому фрагменту различий, нажав клавишу «e», чтобы получить представление различий в ediff.

person Chris McMahan    schedule 11.05.2011
comment
У меня версия 1.0. нажатие e в буфере состояния либо говорит, что не может разрешить фрагмент, либо не может разрешить ‹filename› - person Chris H; 11.05.2011

Если вы по какой-то причине не хотите пробовать M-x customize, просто поместите следующий фрагмент в свой 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

person Kiran    schedule 24.06.2015