web-dev-qa-db-fra.com

Changer la syntaxe Emacs en mettant en évidence les couleurs

J'utilise Emacs, éditant des fichiers en mode C++ et PHP mode. J'adore la coloration syntaxique en tant que concept, mais les couleurs par défaut sont un travestissement. Je peux à peine en lire certaines: bien trop dark. Quelle est la façon la plus simple de modifier leurs valeurs? Je ne trouve rien à ce sujet sur le Web. Je ne me dérange même pas de changer le binaire pendant que je compile mes propres Emacs. Je veux juste trouver le placez là où il est bleu est # 0000FF et changez-le en #AAAAFF par exemple.

58
adum

Je trouve plus facile d'utiliser le thème de couleur pour ce genre de chose.

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

Mais si vous ne voulez pas faire cela, placez le curseur sur le texte incriminé, appuyez sur M-x customize-face. Il doit par défaut être le visage sur lequel le curseur se trouve.

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

65
seth

2 façons - vous pouvez installer le thème couleur du package, qui a beaucoup de schémas Nice à sélectionner et est plus facile à faire à la main. La main à la main ressemble à ceci (dans votre .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.

Vous pouvez également taper

`M-x customize-face RET`

qui vous donnera toutes les personnalisations à définir, finira finalement dans vos .emacs.

26
Steve B.

Placez le curseur sur un visage ("couleur") que vous souhaitez modifier. Frappé C-u C-x =. Cela vous indiquera quel (s) visage (s) sont présents à cette position, et cela vous permettra de cliquer pour les personnaliser. Sauvegardez vos personnalisations.

16
Drew

Si vous ne vous souciez pas du tout de la surbrillance des couleurs, ou si aucune des réponses ci-dessus ne fonctionne pour vous (ou ne prenez trop de temps et d'efforts pour le comprendre), voici une solution très simple qui éliminera complètement les couleurs.

Taper ce qui suit supprimera les couleurs:

M-x global-font-lock-mode

Vous pouvez également le faire comme une étape intermédiaire pour vous permettre de voir réellement tout votre écran pour essayer l'une des réponses ci-dessus. Dans mon cas, cela a été très utile car la couleur de certains éléments clés du texte qui me permettraient de changer de couleur étaient elles-mêmes presque invisibles - par exemple, l'invite de M-x.

Si vous souhaitez que la modification soit permanente, vous pouvez l'ajouter à votre fichier .emacs:

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

2
Michael