Изменение цвета подсветки синтаксиса Emacs


Я запускаю Emacs, редактируя файлы в режиме C++ и режиме PHP. Мне нравится подсветка синтаксиса как концепция, но цвета по умолчанию-это пародия. Я едва могу прочитать некоторые из них: слишком темно. Какой самый простой способ изменить свои ценности? Я не могу найти ничего об этом в интернете. Я даже не против изменить двоичный файл, поскольку я компилирую свой собственный Emacs. Я просто хочу найти место, где он говорит синий #0000FF и изменить его на #AAAAFF например.

4 52

4 ответа:

Я считаю, что проще всего использовать цветовую тему для такого рода вещей.

https://www.emacswiki.org/emacs/ColorThemes

но если вы не хотите этого делать, наведите курсор на оскорбительный текст, нажмите 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"))))

...

etc. так далее.

Вы можете

`M-x customize-face RET`

который даст вам все настройки, чтобы установить, в конечном итоге в конечном итоге в вашем .в Emacs.

поместите курсор на лицо ("цвет"), которое вы хотите изменить. Нажмите C-u C-x =. Это скажет вам, какие лица присутствуют в этой позиции, и это позволит вам щелкнуть, чтобы настроить его/их. Сохраните настройки.

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

набрав следующее, Вы избавитесь от цветов:

M-x global-font-lock-mode

вы также можете сделать это в качестве промежуточного шага, чтобы позволить вам на самом деле увидеть все, что ваш экран, чтобы попробовать любой из приведенных выше ответов. В моем случае это было очень полезно, потому что цвет некоторых ключевых фрагментов текста, которые позволили бы мне изменить цвета, сами были почти невидимы - например, подсказка M-x.

Если вы хотите, чтобы изменения были постоянными, вы можете добавить это к вашему .файл emacs:

(setq-default global-font-lock-mode nil)