emacs.init
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:3k
源码类别:

midi

开发平台:

Unix_Linux

  1. ;;---------------------------------------------------------------------------
  2. ;;
  3. ;; Emacs-Options for Videolan CodingStyle programming
  4. ;;
  5. ;; paste the following lines in your .emacs file
  6. ;;
  7. ;;---------------------------------------------------------------------------
  8. ;; associate c-mode with file extension '.c' or '.h' in vlc trunk tree
  9. (setq auto-mode-alist
  10.       (append
  11.        '((".*vlc-trunk.*/.*\.[ch]$" . c-mode)
  12.   ) auto-mode-alist))
  13. ;; define videolan c style settings
  14. (defconst videolan-c-style
  15.   '((c-tab-always-indent           . t)
  16.     (c-comment-only-line-offset    . 4)
  17.     (c-hanging-braces-alist        . ((substatement-open before after)
  18.                                       (brace-list-open)))
  19.     (c-hanging-colons-alist        . ((member-init-intro before)
  20.                                       (inher-intro)
  21.                                       (case-label after)
  22.                                       (label after)
  23.                                       (access-label after)))
  24.     (c-cleanup-list                . (scope-operator
  25.                                       empty-defun-braces
  26.                                       defun-close-semi))
  27.     
  28.     (c-offsets-alist     . ((string . -1000)
  29.     (c . c-lineup-C-comments)
  30.     (defun-open . 0)
  31.     (defun-close . 0)
  32.     (defun-block-intro . +)
  33.     (class-open . 0)
  34.     (class-close . 0)
  35.     (inline-open . 0)
  36.     (inline-close . 0)
  37.     (topmost-intro . 0)
  38.     (topmost-intro-cont . 0)
  39.     (member-init-intro . +)
  40.     (member-init-cont . 0)
  41.     (inher-intro . +)
  42.     (inher-cont . 0)
  43.     (block-open . 0)
  44.     (block-close . 0)
  45.     (brace-list-open . +)
  46.     (brace-list-close . 0)
  47.     (brace-list-intro . +)
  48.     (brace-list-entry . 0)
  49.     (statement . 0)
  50.     (statement-cont . +)
  51.     (statement-block-intro . +)
  52.     (statement-case-intro . +)
  53.     (statement-case-open . +)
  54.     (substatement . +)
  55.     (substatement-open . +)
  56.     (case-label . +)
  57.     (access-label . -)
  58.     (label . -1000)
  59.     (do-while-closure . 0)
  60.     (else-clause . 0)
  61.     (comment-intro . 0)
  62.     (arglist-intro . +)
  63.     (arglist-cont . 0)
  64.     (arglist-cont-nonempty . c-lineup-arglist)
  65.     (arglist-close . 0)
  66.     (stream-op . +)
  67.     (inclass . +)
  68.     (cpp-macro . -1000)
  69.     (friend . 0)
  70.     (objc-method-intro . 0)
  71.     (objc-method-args-cont . 0)
  72.     (objc-method-call-cont . 0)))
  73.     (c-basic-offset . 4)
  74.     (c-echo-syntactic-information-p . t)
  75.     )
  76.   "Videolan C Programming Style")
  77. ;; Customizations for c-mode
  78. (defun videolan-mode-hook ()
  79.   ;; add the Videolan c style and set it for the current buffer
  80.   (local-set-key "r" 'newline-and-indent)
  81.   (c-add-style "vlc" videolan-c-style t)
  82.   (c-set-offset 'member-init-intro '++)
  83.   ;; other customizations
  84.   (setq tab-width 4
  85. ;; this will make sure spaces are used instead of tabs
  86.         indent-tabs-mode nil)
  87.   ;; we like auto-newline and hungry-delete
  88.   (c-toggle-auto-newline-state 1)
  89.   (custom-set-variables
  90.    '(c-hanging-semi&comma-criteria nil))
  91.   )
  92. (add-hook 'c-mode-hook 'videolan-mode-hook)