Emacs: выделите текущую строку, подчеркнув ее
В vim мы можем использовать "set cursorline" в файле dotvim, чтобы включить его. Есть ли способ сделать это в emacs?
Ответы
Ответ 1
В ваших .emacs настройте лицо для hl-line-mode
, с чем-то вроде:
(global-hl-line-mode 1)
(set-face-attribute hl-line-face nil :underline t)
hl-line-face
- это переменная, которая сохраняет имя face hl-line-mode
для отображения текущей строки. Вы можете настроить :foreground
:background
и кучу других атрибутов по своему вкусу. Проверьте документацию здесь.
global-hl-line-mode
включает выделение текущей строки во всех буферах. Если вы просто хотите его в некоторых буферах, включите его с помощью M-x hl-line-mode.
Ответ 2
Есть хорошая запись в блоге по этой теме: M-x all-things-emacs
Следующий код (введите wit M-: или в ~/.emacs) использует код RGB # 222 в качестве цвета фона (если вы находитесь в режиме с 256 цветами!) и подчеркивает шрифт текущей строки. Отмена цвета переднего плана использует цвет по умолчанию, это, например, сохраняет цвета С++ на выделенной строке.
(global-hl-line-mode 1)
(set-face-background 'highlight "#222")
(set-face-foreground 'highlight nil)
(set-face-underline-p 'highlight t)
Вы можете проверить, нужно ли вам изменить highlight
или (afaik постарше) hl-line
с помощью M-x и:
describe-face <RET> highlight
describe-face <RET> hl-line
Эта команда показывает все настройки грани шрифта, используемые для выделения текущей строки. Вы должны получить такой вывод:
Face: highlight (sample) (customize this face)
Documentation:
Basic face for highlighting.
Family: unspecified
Foundry: unspecified
Width: unspecified
Height: unspecified
Weight: unspecified
Slant: unspecified
Foreground: unspecified
Background: #222
Underline: t
Overline: unspecified
Strike-through: unspecified
Box: unspecified
Inverse: unspecified
Stipple: unspecified
Font: unspecified
Fontset: unspecified
Inherit: unspecified
Ответ 3
Я не думаю, что там встроен точный эквивалент. Вы можете использовать hl-line-режим, чтобы выделить текущую строку, а настройка этого режима позволяет вам выделять подсветку, а не цвет фона по умолчанию - но подчеркивание, которое вы получаете, останавливается в конце текста в строке, а не продолжает к краю окна.