2009-02-20 5 views
1

Je suis assez old school parfois et j'aime travailler avec Emacs dans mon terminal. (Je travaille avec des IDE tout le temps mais parfois, quand je suis chez moi, j'aime juste un éditeur de texte un terminal et une bière)Mac OS X Emacs ne fait pas ressortir les commentaires correctement

Cependant, l'Emacs par défaut qui vient avec OS X ne semble pas pour mettre en évidence les commentaires en mode font-lock. J'ai vu ce comportement en mode Python et C.

Je l'ai déjà cherché des forums et je trouve un poste où la personne a le même problème que moi:

http://forums.macosxhints.com/showthread.php?p=512361

Est est-il un moyen de résoudre ce problème?

Répondre

0

Je ne sais pas exactement comment résoudre ce problème, mais je suis à peu près certain qu'il y a quelque chose que vous pouvez mettre dans le fichier .emacs. En fait, je pense que je l'ai déjà fait. Je vais chercher mon fichier et vous laisser savoir ce que je peux trouver.

Je vais essayer de vous obtenir mon fichier .emacs quand je rentre du travail ce soir. [Edit] J'ai regardé et regardé, et je ne trouve pas de fichier .emacs sur les systèmes que j'utilise, et sur mon installation d'OS X (défaut de Leopard), on dirait qu'il le fait correctement par défaut . J'ai fait des recherches here, et il semblerait que les installations par défaut n'utilisent plus les fichiers .emacs, parce que des gens comme moi se moquent d'eux et cassent des choses, et ils en ont assez de devoir nous aider à résoudre le problème. Mais, il y a un ensemble de menus qui vous permettront de peaufiner les choses. Commencez par taper "M-x customize RET", où M est le méta-caractère (sur mon installation OSX, il s'agit de la clé esc. Ne le maintenez pas enfoncé, tapez-le comme un caractère normal. Vous pouvez changer, je n'ai pas trop fouiné, donc je ne sais pas où vous trouverez ce que vous cherchez dans le menu Désolé, je ne pourrais pas être plus utile

+0

Vous pouvez toujours personnaliser Emacs à l'aide d'un fichier .emacs; le menu vient d'être ajouté pour aider les nouveaux utilisateurs. – mipadi

+0

Juste, j'ai vu que vous pouvez toujours utiliser un fichier .emacs, mais il semble que la voie préférée est avec le menu –

0

Selon mon expérience ceci est généralement lié à une citation non appariée (simple, double ou autre) quelque part dans un commentaire existant

Chassez ces occurrences et éliminez-les dans votre code source (ou si vous êtes plus ambitieux, voyez si vous peut mettre à jour le code de la police dans le code source emacs de vos principaux modes)

Lorsque je l'ai rencontré lors de l'édition de Perl dans emacs, je passe souvent les principaux modes à cperl-mode car il gère généralement l'analyse du perl mieux que la valeur par défaut perl-mode.

2

J'ai eu exactement le même problème. La solution est de changer la couleur utilisée pour le visage de commentaire comme suit:

(set-face-foreground 'font-lock-comment-face "red") 

Ou, si vous voulez seulement le faire pour certains modes:

;;; Only do this for the common C mode (C, C++, Objective-C) 
(add-hook 'c-mode-common-hook #'(lambda() (set-face-foreground 'font-lock-comment-face "red"))) 

Pour plus d'informations sur les visages, voir http://www.gnu.org/software/emacs/manual/html_node/emacs/Faces.html .

+0

Emacs est déjà configuré pour utiliser le rouge comme police de commentaire par défaut, tant qu'il n'a pas été altéré et ~/.emacs n'a pas introduit une personnalisation ou un bug. –

+0

@Chris Page: Avez-vous lancé l'emacs livré avec une version récente de Mac OS X? Dans emacs 23.3.1, si vous tapez '// foo' dans' c-mode', le '//' sera surligné en rouge mais le texte de commentaire 'foo' sera la couleur du texte par défaut (blanc ou noir). Mon changement ici fait en sorte que 'foo' soit aussi surligné en rouge. –

+0

Oui, j'utilise la version la plus récente d'Emacs fournie avec la version la plus récente de Mac OS X. La version fournie avec Mac OS X Lion 10.7.1 est Emacs 22.1.1, qui met en évidence tous les éléments "// foo "en rouge. La question dit, "l'Emacs par défaut qui vient avec OS X". –