2010-11-21 13 views
18

Entonces, esta podría ser una pregunta herética, pero estoy buscando un modo Emacs que maneje el resaltado de sintaxis de los archivos .vimrc. Esta pregunta en particular ha resultado bastante difícil para Google por las razones obvias, pero me parece extremadamente probable que alguien haya escrito ese modo en los más de 20 años de guerra abierta entre los dos editores. ¿Algunas ideas?Sintaxis ¿resaltar un archivo vimrc en Emacs?

+10

Dude, esta es la mejor idea para trolling #emacs. :) – cdhowie

+0

+1 y mejor suerte en superusuario. La lógica es que los administradores son mucho más propensos a ser usuarios de emacs que necesitan jugar con archivos .vimrc que un programador. – aaronasterling

+1

+1 Por la audacia de la pregunta. Si hubiera, esperaría que Google para 'vimrc.el' o 'vimrc.elc' apareciera algo, pero absolutamente nada se plantea, para mi sorpresa. Sería como una hoz y un martillo en relieve con las estrellas y las rayas. ;-) – Orbling

Respuesta

11

Google se convierte en wenbinye's vimrc-mode, un modo genérico muy ligero. Esto es lo que tengo en mi .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

Ese modo resalta correctamente los comentarios, pero el relleno de comentarios con M-q no funciona correctamente. Para arreglar el llenado de comentarios, debe indicarle al modo cómo son los comentarios reemplazando el primer ''()' con '' (" \ "") '. – ntc2

+0

@enoksrd Funciona si no ha activado el modo Filladapt (que tengo). Pero no estoy convencido de que esto sea correcto, ya que '" 'funciona como sintaxis de cadena y comentario. – Gilles

+0

¿cuál es la preocupación? ¿Que usarías 'M-q' en un bloque de código y harías que envuelva tus cadenas como comentarios? ¿Por qué usarías 'M-q' (' fill-paragraph') en tu código? – ntc2

Cuestiones relacionadas