2010-11-21 9 views
18

Donc, cela peut être une question hérétique, mais je suis à la recherche d'un mode Emacs qui gère la coloration syntaxique des fichiers .vimrc. Cette question particulière s'est avérée assez difficile à Google pour des raisons évidentes, mais il me semble extrêmement probable que quelqu'un aurait écrit un tel mode dans les 20 années de guerre ouverte entre les deux éditeurs. Des idées?Syntaxe met en évidence un fichier vimrc dans Emacs?

+10

Mec, c'est la meilleure idée pour la pêche à la traîne #emacs. :) – cdhowie

+0

+1 et une meilleure chance sur superutilisateur. La logique étant que les administrateurs sont beaucoup plus susceptibles d'être des utilisateurs d'emacs qui ont besoin de manipuler des fichiers .vimrc qu'un programmeur. – aaronasterling

+1

+1 Pour l'audace de la question. Si c'était le cas, je m'attendrais à ce que Google pour 'vimrc.el' ou 'vimrc.elc' trouve quelque chose, mais absolument rien n'est levé, à mon grand étonnement. Ce serait comme un marteau et une faucille en relief avec les étoiles et les rayures. ;-) – Orbling

Répondre

11

Googling apparaît wenbinye's vimrc-mode, un mode générique très léger. Voici ce que j'ai dans mon .emacs:

(define-generic-mode 'vimrc-generic-mode 
    '() 
    '() 
    '(("^[\t ]*:?\\(!\\|ab\\|map\\|unmap\\)[^\r\n\"]*\"[^\r\n\"]*\\(\"[^\r\n\"]*\"[^\r\n\"]*\\)*$" 
     (0 font-lock-warning-face)) 
     ("\\(^\\|[\t ]\\)\\(\".*\\)$" 
     (2 font-lock-comment-face)) 
     ("\"\\([^\n\r\"\\]\\|\\.\\)*\"" 
     (0 font-lock-string-face))) 
    '("/vimrc\\'" "\\.vim\\(rc\\)?\\'") 
    '((lambda() 
     (modify-syntax-entry ?\" "."))) 
    "Generic mode for Vim configuration files.") 
+0

Ce mode met correctement en surbrillance les commentaires, mais le remplissage des commentaires avec M-q ne fonctionne pas correctement. Pour corriger le remplissage des commentaires, vous devez indiquer au mode à quoi ressemblent les commentaires en remplaçant le premier ''() 'par' '("\" ")'. – ntc2

+0

@enoksrd Cela fonctionne si vous n'avez pas activé le mode Filladapt (ce que j'ai) Mais je ne suis pas convaincu que ce soit juste, car '' '' double comme commentaire et syntaxe de corde. – Gilles

+0

quelle est la préoccupation? Que vous utiliseriez 'M-q' dans un bloc de code et que vous envelopperiez vos chaînes comme des commentaires? Pourquoi utiliseriez-vous 'M-q' (' fill-paragraph') dans votre code? – ntc2