Emacs: hl-line-mode конфликтует с подсветкой фразы - PullRequest
10 голосов
/ 03 июля 2011

Я выделяю текущую строку, оценивая:

(hl-line-mode)

Она также может быть установлена ​​глобально:

(global-hl-line-mode nil)

Проблема заключается в том, что этот способ подсветки линии переопределяет highlight-phrase.Поэтому мой вопрос: «как выделить в этой строке как текущую строку, так и данную фразу?»

Ответы [ 3 ]

6 голосов
/ 03 июля 2011

Обе highlight-phrase и hl-line применяют грани с установленным цветом фона.hl-line выигрывает, потому что использует оверлей, а оверлеи всегда переопределяют свойства текста, которые highlight-phrase использует .Я предлагаю вам обойти это, настроив лицо hi-yellow для использования яркого цвета переднего плана вместо цвета фона или даже прямоугольника.

2 голосов
/ 06 июля 2011

Итак, вот какое-то определенно не идеальное решение.Do:

M-x customize-face

emacs затем спросит вас, какой из них, и я сделал

hl-line

Затем я отключил флаг "Наследовать" (последний) и включил "передний план«Флаг», - говорилось «черный», - я сделал его красным.После этого Вы должны сохранить все это вверху страницы - либо - только для этого сеанса, либо для будущих сессий.

Вот и все!Таким образом, текущая строка текста имеет красный шрифт, а highlight-phrase выделяет фразу желтым цветом.

1 голос
/ 14 февраля 2013

Редактировать: Предыдущее решение, которое я опубликовал, не работает, но оно должно.

Выделение имеет два режима, один для буферов с блокировкой шрифтов (в которых используется шрифт-lock) и один без (который использует оверлей).Решение, которое я нашел, состояло в том, чтобы просто заставить подсветку постоянно использовать оверлей и, таким образом, иметь более высокий приоритет по сравнению с линией hl (поскольку более короткие оверлеи имеют неявно более высокий приоритет, учитывая то же значение priority).

Для этого я вошел в hi-lock.el и заменил каждый экземпляр font-lock-fontified на nil.Не забудьте M-x byte-compile-file впоследствии, чтобы обновить hi-lock.elc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...