Emacs: объяснение шрифта
Я давно пользуюсь Emacs и довольно часто его настраиваю. Я даже написал простые функции ELisp, и теперь я все больше и больше использую макросы. Я не где-то рядом с знающим пользователем Emacs, но я не полный новичок.
Я использую nxhtml, mumamo, dired, ido, пользовательские сочетания клавиш и так много вещей, которые я добавил за эти годы, что я не помню их все;)
Но есть кое-что, чего я действительно никогда не понимал: что такое режим "font-lock" и почему меня это должно волновать?
Например, я читал, что nxhtml и nxml, если я правильно помню, не используют блокировку шрифтов. Может быть, я плохо понял эту часть, но в любом случае: что это меняет для меня как пользователя?
Или возьмите для примера это описание про WhiteSpace:
Обратите внимание, что когда WhiteSpace включен, WhiteSpace сохраняет состояние блокировки шрифта, то есть, если блокировка шрифта включена или выключена. И WhiteSpace восстанавливает состояние блокировки шрифта, когда оно выключено. Таким образом, если WhiteSpace включен и блокировка шрифта отключена, WhiteSpace также включает блокировку шрифта, чтобы выделить пробелы, но блокировка шрифта будет отключена при выключении WhiteSpace. Таким образом, включите блокировку шрифта до включения WhiteSpace, если вы хотите, чтобы блокировка шрифта продолжалась после выключения WhiteSpace.
Хорошо. Я это понимаю. Но что изменится, если после этого будет продолжаться блокировка шрифта?
По сути, я просто не "понимаю", независимо от того, сколько я читаю на эту тему.
Любой пример / объяснение того, что такое "font-lock" под Emacs и почему это касается меня, будет очень кстати!
2 ответа
font-lock-mode
== Цветная подсветка синтаксиса. global-font-lock-mode
включает блокировку шрифтов для каждого режима в Emacs. Более старая версия Emacs требовала, чтобы вы включили его вручную, более новая версия (я думаю, более 23) включает это по умолчанию. Я не могу себе представить, что многие люди захотят отключить эту функцию, так как она делает некоторый тип контента (например, исходный код) чрезвычайно читабельным. Каждый режим, использующий блокировку шрифта, опирается на определенный набор граней - комбинацию свойств шрифта, таких как размер, жирный шрифт, подчеркивание, курсив и цвет. Основные лица, которые используют большинство режимов:
font-lock-builtin-face
font-lock-comment-face
font-lock-comment-delimiter-face
font-lock-constant-face
font-lock-doc-face
font-lock-doc-string-face
font-lock-function-name-face
font-lock-keyword-face
font-lock-negation-char-face
font-lock-preprocessor-face
font-lock-string-face
font-lock-type-face
font-lock-variable-name-face
font-lock-warning-face
Вы можете легко переопределить их значения, если они вам нужны (или использовать другую цветовую тему). Некоторые режимы также определяют дополнительные грани.
Он отображает ваш код всеми разными цветами (красный для комментариев, зеленый для названий классов и т. Д.). Если он выключен, вы получите черно-белый код. Откройте некоторый код и выполните Mx font-lock-mode пару раз, чтобы увидеть, как он включается и выключается.