Подтвердить что ты не робот

Отключить hl-line в Emacs при использовании Emacs Starter Kit?

Эта проблема убивает мою производительность.

Стартовый комплект Emacs автоматически включает hl-линию, которая выделяет текущую строку. Это делает меня неспособным увидеть подсветку в текущей строке.

Я попытался установить (global-hl-line-mode nil) и (hl-line-mode nil) глобально и добавил к крючкам режима, таким как clojure -mode-hook, но он все еще отображается.

Какой elisp мне нужно отключить эту функцию?

4b9b3361

Ответ 1

hl-line-режим включается следующей строкой в ​​файле startter-kit-defuns.el:

(add-hook 'coding-hook 'turn-on-hl-line-mode)

Вы можете либо прокомментировать эту строку, либо если вы не хотите прикасаться к файлам стартового набора, вы можете поместить следующее в свой личный файл инициализации в ~/.emacs.d/{username}.el:

(remove-hook 'coding-hook 'turn-on-hl-line-mode)

Ответ 2

В стартовом комплекте 2 соответствующий крючок для удаления:

(remove-hook 'prog-mode-hook 'esk-turn-on-hl-line-mode)

Вам нужно добавить это в свою собственную конфигурацию после инициализации стартового набора.

Ответ 3

Я знаю, что это старый вопрос, но у меня недавно была такая же проблема (с использованием emacs 24) и выяснилось, что ее также можно решить, просто настроив грань "hl-line":

  • Сделайте "M-x customize-face" и введите "hl-line".
  • Настроить по своему вкусу и "сохранить для будущих сеансов".

Если вы отключите все атрибуты, вы фактически отключите эту функцию, по крайней мере, с точки зрения пользователя. Для меня поворот цветной подсветки и просто установка "Вес" на "тяжелую" трансформированную hl-линию от раздражения до ненавязчивой, умеренно полезной функции.

Ответ 4

Постарайтесь разместить (global-hl-line-mode nil) в нижней части вашего .emacs, чтобы никакая другая команда не перезаписывала его.

Ответ 5

Я не думаю, что ваша проблема возникла из ESK - она ​​не включает hl-line-режим. Если бы это было так, вы должны были бы иметь строку, похожую на (global-hl-line-mode t). Я бы предложил просто найти эту строку в вашей конфигурации и удалить ее, если вы ее найдете. Существуют и другие режимы подсветки. ESK автоматически устанавливает idle-highlight из ELPA - возможно, это то, что вы имеете в виду. Вы можете удалить его, удалив его из этого фрагмента кода в файле startter-kit-elpa.el:

(defvar starter-kit-packages (list 'idle-highlight
                                   'ruby-mode
                                   'inf-ruby
                                   'css-mode
                                   'yaml-mode
                                   'find-file-in-project
                                   'magit
                                   'gist)

Вы также должны удалить загруженный пакет из папки ELPA и перезапустить Emacs.

Ответ 6

Если вы используете ESK, лучшим местом для размещения собственных настроек является не .emacs, а .emacs.d/{имя пользователя}.el или .emacs.d/{имя пользователя}/{имя пользователя}.el.

Ответ 7

Вы спросили, как отключить hl-line-режим, но вы сказали, что хотите сделать это, потому что hl-line-режим скрывает стандартную подсветку синтаксиса, которую вы предпочитаете видеть. Что ж, что, если бы я сказал вам, что возможно иметь как выделенную линию, так и подсветку синтаксиса? Попробуйте следующее:

;; Change the :background setting to a value that is only very subtly 
;; lighter than the default bg color.
(set-face-attribute 'hl-line nil
                    :background "#3d4753"
                    :foreground nil
                    :inherit t)

Конечным результатом является выделенная линия, которая имеет очень красиво тонкий эффект подсветки в фоновом режиме и сохраняет все ценное синтаксическое выделение, присутствующее на переднем плане. Если вы тщательно выберете цвет фона, у вас не возникнут проблемы с конфликтами чтения из цветов fg/bg (я имею в виду, если вы выберете ярко контрастный цвет линии, то цвета подсветки синтаксиса будут сталкиваться и быть трудными для чтения, поэтому, выбрав цвет, который только очень тонко отличается, вы все равно можете видеть его, не беспокоясь о цветах fg, которые сталкиваются).