Как выделить текущую строку только в выбранном окне?


12

Q : есть ли способ hl-line-modeвыделить текущую строку только в выбранном окне?

Когда у меня есть несколько окон, показывающих буферы с включенным hl-line-mode , трудно сразу определить, какое окно является текущим.

У меня есть переменная cursor-in-non-selected-windowsнабор для , nilчтобы показать курсор только в текущем окне, но визуальный сигнал завален на подсвеченные линии в окнах.

Есть ли аналогичная настройка, позволяющая мне hl-line-modeпоказывать выделенную строку только в текущем окне? Еще лучше, есть ли способ придать выделенным линиям другое лицо, когда они находятся в неактивных окнах (аналогично mode-line-inactive)?

PS: да, я могу посмотреть на строку режима, чтобы сказать, какое окно активно, но это отвлекает меня от того, что я делаю, и нарушает мою концентрацию.


Кажется, что если вы активируете hl-line-mode с помощью global-hl-line-mode(вместо вызова hl-line-mode для каждого буфера), то будет выделена только строка выбранного окна.
Икбал Ансари

@IqbalAnsari: интересно! К сожалению, я только хочу , чтобы использовать hl-line-modeв нескольких типах буфера ( occur, mu4eи т.д.). Я покопаюсь в исходном коде, когда получу момент.
Дан

Ответы:


9

Вы можете установить hl-line-sticky-flagнаnil

hl-line-sticky-flag - это переменная, определенная в hl-line.el.

Не ноль означает, что подсветка режима HL-Line появляется во всех окнах. В противном случае режим Hl-Line будет выделен только в выбранном окне. Установка этой переменной вступит в силу при следующем использовании команды hl-line-modeдля включения режима Hl-Line.

Эта переменная не действует в режиме Global Highlight Line. Для этого используйте global-hl-line-sticky-flag.


1
Ха! Я не знал, что это был вариант, и в итоге написал свой собственный: emacs.stackexchange.com/a/14658/780 . Я полагаю, что этот подход имеет то преимущество, что вы можете выбрать другой цвет для неактивных окон, но я, вероятно, переключусь на это гораздо более простое решение.
glucas
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.