2010-11-21 45 views
18

Vì vậy, đây có thể là một câu hỏi dị giáo, nhưng tôi đang tìm kiếm một chế độ Emacs xử lý cú pháp tô sáng các tệp .vimrc. Câu hỏi cụ thể này đã tỏ ra khá khó khăn với Google vì những lý do hiển nhiên, nhưng có vẻ như rất có thể với tôi rằng ai đó đã viết một chế độ như vậy trong hơn 20 năm chiến tranh mở giữa hai biên tập viên. Bất kỳ ý tưởng?Cú pháp làm nổi bật tệp vimrc trong Emacs?

+10

Dude, đây là ý tưởng hay nhất từ ​​trước đến nay. :) – cdhowie

+0

+1 và may mắn hơn về người siêu người dùng. Logic là các quản trị viên có nhiều khả năng trở thành người dùng emacs cần phải lộn xộn xung quanh với các tệp .vimrc hơn là một lập trình viên. – aaronasterling

+1

+1 Đối với độ rõ của câu hỏi. Nếu có, tôi mong đợi một Google cho 'vimrc.el' hoặc 'vimrc.elc' để bật lên một cái gì đó, nhưng hoàn toàn không có gì được nêu ra, nhiều đến sự thiếu ngạc nhiên của tôi. Nó sẽ giống như một cái búa và liềm nổi với các ngôi sao và sọc. ;-) – Orbling

Trả lời

11

Googling không bật lên wenbinye's vimrc-mode, chế độ chung chung rất nhẹ. Dưới đây là những gì tôi có trong số .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

Chế độ đó đánh dấu chính xác nhận xét, nhưng việc điền chú thích bằng M-q không hoạt động đúng. Để sửa bình luận điền, bạn phải nói cho chế độ xem chú thích trông như thế nào bằng cách thay thế ''()' đầu tiên bằng '' (" \ "") '. – ntc2

+0

@enoksrd Nó hoạt động nếu bạn chưa bật chế độ Filladapt (Tôi có) Nhưng tôi không thuyết phục điều này đúng, vì ''' tăng gấp đôi bình luận và chuỗi cú pháp. – Gilles

+0

mối quan tâm là gì? Rằng bạn sẽ sử dụng 'M-q' trong một khối mã và có nó quấn dây của bạn như ý kiến? Tại sao bạn sẽ sử dụng 'M-q' (' điền đoạn') trong mã của bạn? – ntc2

Các vấn đề liên quan