Як виділити поточний рядок лише у вибраному вікні?


12

З : Чи існує спосіб hl-line-modeвиділити поточний рядок лише у вибраному вікні?

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

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

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

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


Здається, що якщо ви активуєте hl-line-режим за допомогою global-hl-line-mode(а не викликаєте hl-line-режим для кожного буфера), тоді виділяється лише рядок вибраного вікна.
Ікбал Ансарі

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

Відповіді:


9

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

hl-line-sticky-flag - це змінна, визначена в hl-line.el.

Non-nil означає, що підсвітка режиму HL-Line відображається у всіх вікнах. Інакше режим Hl-Line буде виділятися лише у вибраному вікні. Встановлення цієї змінної набуває чинності наступного разу, коли ви використовуєте команду hl-line-modeдля ввімкнення режиму Hl-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.