highlight-symbol-at-point
действительно полезно, однако я не мог найти простой способ отменить выделение символов.
В настоящее время мне приходится звонить unhighlight-regexp
повторно для каждого выделенного символа.
Есть ли лучший способ:
- отменить выделение всех выделенных символов в буфере
- Выделить символ в точке?
highlighting
Kostya
источник
источник
M-x hi-lock-mode
Ответы:
Есть ли лучший способ отменить выделение всех выделенных символов в буфере?
От
C-h f unhighlight-regexp
, мы получаемЭто означает , что мы просто нужно позвонить
unhighlight-regexp
с вt
качестве аргумента , чтобы удалить все привет-блокировку подсветки в буфере.Если бы это была одноразовая вещь, это могло бы быть быстро сделано
M-: (unhighlight-regexp t)
илиC-u M-s h u
. Но кажется, что это то, что вам нужно делать довольно часто. В этом случае лучше обернуть его вinteractive
функцию и привязать к некоторой клавише.Ниже предложено решение , в котором
my/unhighlight-all-in-buffer
находится интерактивная функция обертки и она обязанаhU
вsearch-map
. По умолчаниюsearch-map
префикс являетсяM-s
. Так что теперь, так же, какM-s h u
запускаетunhighlight-regexp
,M-s h U
(обратите внимание на заглавную U) запускаетmy/unhighlight-all-in-buffer
.Есть ли лучший способ выделить символ в точке?
Хорошо, что вам не нужно ставить точку на символе, который нужно выделить.
Вы просто вызываете
M-x unhighlight-regexp
илиM-s h u
(его привязка по умолчанию) и нажимаетеM-p
/,M-n
пока не встретите регулярное выражение символа, который нужно выделить, и нажмите Enter.источник
Другой способ - использовать библиотеку Highlight (
highlight.el
), командыhlt-highlight-symbol-at-point
иhlt-unhighlight-symbol-at-point
.Они связаны по умолчанию
C-x X h s
иC-x X u s
, соответственно. Все команды выделения и отмены выделенияC-x X
по умолчанию связаны с префиксом . Команды выделения используют префикс ключаC-x X h
. Небольшие команды используют префиксный ключC-x X u
. Вы можете использовать другой префиксный ключ, чемC-x X
просто связать его с префиксной командойhlt-map
.Подсветка в библиотеке. Подсветка может использовать наложения или текстовые свойства (или оба). Выделение лица или цвета может быть выбрано автоматически (из настраиваемой последовательности лиц и цветов) или нет.
Выделение может использовать свойство
font-lock-face
, так что оно управляется режимом Font Lock. Или он может использовать свойствоface
, чтобы оно им не контролировалось. (Вы можете использовать свойствоface
для выделения в буферах, которые не используют блокировку шрифтов, а выделение остается в буферах с блокировкой шрифтов при выключении режима блокировки шрифтов.)источник
C-u C-x w r
источник
Это выделит один символ:
источник