2009-06-26 12 views
3

Mon .emacs est comme une feuille de route pour moi où je source de nombreux fichiers. Leur extension est .emacs: par exemple,Comment mettre en surbrillance la syntaxe pour les fichiers Emacs

fileName.emacs 

Le problème est que seulement ~/emacs a mise en évidence de la syntaxe.

Je voudrais avoir la coloration syntaxique pour tous les fichiers sources qui se terminent par .emacs.

Comment pouvez-vous mettre la coloration syntaxique sur tous les fichiers .emacs sélectionnés?

Répondre

12

Oui. Je suppose que ce sont des fichiers lisp, vous avez donc besoin d'Emacs pour être automatiquement en mode Lisp lors de l'affichage de ces fichiers. Il y a deux solutions:

  1. La chose la plus simple est de changer l'extension .el. Par défaut, ceux-ci sont ouverts en mode Lisp.

  2. Si, pour une raison quelconque, vous voulez vraiment utiliser l'extension .emacs, vous voulez ajouter quelque part dans ce fichier ~/.emacs:

    (setq auto-mode-alist 
         (append '((".*\\.emacs\\'" . lisp-mode)) 
           auto-mode-alist)) 
    

auto-mode-alist est la liste Emacs utilise pour déterminer le mode majeur à utiliser. Chaque élément est une liste, la première est l'expression régulière Emacs utilisée par Emacs pour tester le nom de fichier, et si elle est vraie, elle utilise le mode donné dans le troisième élément.

(Je ne sais pas ce que le deuxième élément est, je l'ai jamais utilisé.)

Je suggère fortement l'option 1 si.

+0

Merci pour votre réponse! –

+3

Le "deuxième article" est la notation pour faire un contre-citant littérale. Un contre est le bloc de construction de bas niveau des listes. '(a (b) nil)) (contre' a (cons 'b nil))' (a b) (liste a b) sont quatre manières différentes d'exprimer la même liste littérale. –

+1

@masi Dans la réponse acceptée, vous devriez probablement utiliser emacs-lisp-mode au lieu du mode lisp, puisque tous ces fichiers vont être en mode elisp, pas en mode lisp. La distinction est mineure, et probablement pas d'une grande importance, mais les gars d'emacs doivent avoir écrit un mode emacs-lisp séparé pour une raison quelconque? – vedang

7

Vous pouvez définir le mode dans la première ligne non vide du fichier:

;-*-Lisp-*- 

Ceci est un commentaire pour Lisp, mais provoque Emacs pour passer en mode Lisp à la lecture dans la mémoire tampon (reference).

Questions connexes