Изменить цвета подсветки синтаксиса Emacs
Я использую Emacs, редактирую файлы в режиме C++ и PHP. Я люблю выделение синтаксиса как концепцию, но цвета по умолчанию - пародия. Я едва могу прочитать некоторые из них: слишком темно. Какой самый простой способ изменить их значения? Я не могу найти что-нибудь об этом в Интернете. Я даже не возражаю против изменения бинарного файла, так как я собираю свой собственный Emacs. Я просто хочу найти место, где написано, что синий цвет - #0000FF и изменить его, например, на #AAAAFF.
5 ответов
Я считаю, что проще всего использовать цветовые темы для такого рода вещей.
http://www.emacswiki.org/emacs/ColorTheme
Но если вы не хотите этого делать, наведите курсор на оскорбительный текст, нажмите M-x customize-face
, По умолчанию должно быть лицо, на котором находится курсор.
http://www.gnu.org/software/emacs/manual/html_node/emacs/Specific-Customization.html
2 способа - вы можете установить пакет color-theme, который имеет множество хороших схем для выбора и проще сделать это вручную. Рука выглядит так (в вашем.emacs)
(custom-set-faces
custom-set-faces was added by Custom.
If you edit it by hand, you could mess it up, so be careful.
Your init file should contain only one such instance.
If there is more than one, they won't work right.
'(default ((t (:inherit nil :stipple nil :background "lightyellow2" :foreground "gray20" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight bold :width normal :family "liberation mono"))))
'(background "blue")
'(font-lock-builtin-face ((((class color) (background dark)) (:foreground "Turquoise"))))
'(font-lock-comment-face ((t (:foreground "MediumAquamarine"))))
'(font-lock-constant-face ((((class color) (background dark)) (:bold t :foreground "DarkOrchid"))))
'(font-lock-doc-string-face ((t (:foreground "green2"))))
'(font-lock-function-name-face ((t (:foreground "SkyBlue"))))
'(font-lock-keyword-face ((t (:bold t :foreground "CornflowerBlue"))))
'(font-lock-preprocessor-face ((t (:italic nil :foreground "CornFlowerBlue"))))
'(font-lock-reference-face ((t (:foreground "DodgerBlue"))))
'(font-lock-string-face ((t (:foreground "LimeGreen"))))
...
и т. д.
Вы также можете ввести
`M-x customize-face RET`
что даст вам все настройки для настройки, в конечном итоге в итоге.emacs.
Поместите курсор на лицо ("цвет"), которое вы хотите изменить. Хит Cu Cx =. Это скажет вам, какие лица присутствуют в этой позиции, и это позволит вам щелкнуть, чтобы настроить его / их. Сохраните ваши настройки.
Если вас не волнует цветовая подсветка, или ни один из вышеперечисленных ответов не работает для вас (или требует слишком много времени и усилий, чтобы выяснить это), вот очень простое решение, которое полностью избавится от цветов.
Введите следующее, чтобы избавиться от цветов:
M-x global-font-lock-mode
Вы также можете сделать это в качестве промежуточного шага, чтобы позволить вам увидеть все на экране, чтобы попробовать любой из приведенных выше ответов. В моем случае это было очень полезно, потому что цвет некоторых ключевых фрагментов текста, которые позволили бы мне менять цвета, сами были почти невидимы - например, подсказка Mx.
Если вы хотите, чтобы изменение было постоянным, вы можете добавить это в свой файл.emacs:
(setq-default global-font-lock-mode nil)
Начиная с Emacs 24.1, вы можете использовать
M-x customize-themes
для выбора цветовой темы.
Emacs поставляется с дюжиной или около того тем с различной яркостью и красочностью, так что вы, скорее всего, найдете что-то, что больше всего соответствует вашим предпочтениям.
Вы также можете найти дополнительные цветовые темы, которые можно установить через MELPA, по адресу https://peach-melpa.org/.