it-swarm.com.ru

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

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

58
adum

Мне кажется, проще всего использовать цветовые темы для такого рода вещей.

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

Но если вы не хотите этого делать, наведите курсор на оскорбительный текст и нажмите M-x customize-face. По умолчанию должно быть лицо, на котором находится курсор.

http://www.gnu.org/software/emacs/manual/html_node/emacs/Specific-Customization.html

65
seth

2 способа - вы можете установить пакет color-theme, который имеет множество схем Nice для выбора и его проще сделать вручную. Рука выглядит так (в вашем .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.

26
Steve B.

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

16
Drew

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

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

M-x global-font-lock-mode

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

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

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

2
Michael