我的emacs配置备份

;;color
;;(set-face-background 'default "black")
;;(set-face-foreground 'default "gray")

;;cmake
(require 'cmake-mode)
(setq auto-mode-alist
   (append
    '(("CMakeLists\\.txt\\'" . cmake-mode))
    '(("\\.cmake\\'" . cmake-mode))
    auto-mode-alist))

;;objc-mode setting-------------------------------------------------------------
(defun objc-mode-setup ()
(setq auto-mode-alist
   (append
    '(("\\.m\\'" . objc-mode))
    '(("\\.mm\\'" . objc-mode))
    auto-mode-alist))
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "/usr/share/emacs/23.3/lisp/ac-dict")
(ac-config-default)
(add-to-list 'ac-modes 'objc-mode)

(global-auto-complete-mode t)   
;; 使用Ctrl+enter按键触发自动补全 
(define-key ac-mode-map  [(control return)] 'auto-complete) 

;; 加载clang 
(require 'auto-complete-clang) 
 
;; 添加c-mode和c++-mode的hook,开启auto-complete的clang扩展 
(defun wttr/ac-cc-mode-setup () 
(make-local-variable 'ac-auto-start) 
(setq ac-auto-start nil)              ;auto complete using clang is CPU sensitive 
(setq ac-sources (append '(ac-source-clang ac-source-yasnippet) ac-sources))) 
(add-hook 'c-mode-hook 'wttr/ac-cc-mode-setup) 
(add-hook 'c++-mode-hook 'wttr/ac-cc-mode-setup) 
(add-hook 'objc-mode-hook 'wttr/ac-cc-mode-setup) 
(setq ac-clang-flags  (list  
                                 "-I/usr/include" 
                                 "-I/usr/include/GNUstep" 
                                 "-I/usr/include/c++/4.6"
                                 "-D__MSVCRT__=")) 
(speedbar)
)
;;objc-mode setting-------------------------------------------------------------

;;C and C++ setup---------------------------------------------------------------
(defun c-cplusplus-setup ()
(require 'cedet)
(global-ede-mode t)

;;enable default function
(semantic-mode 1)

;;enable semantic idle complete
(global-semantic-idle-completions-mode)
(setq semantic-complete-inline-analyzer-idle-displayor-class 'semantic-displayor-traditional)

;;enable semantic idle summary mode
(global-semantic-idle-summary-mode)

;;set the way of semantic search
(setq-mode-local c++-mode
        semanticdb-find-default-throttle
        '(file project local unloaded system recursive))

(setq-mode-local c-mode
        semanticdb-find-default-throttle
        '(file project local unloaded system recursive))

;;higlight fun
(global-semantic-highlight-func-mode)

;;decoration mode
(global-semantic-decoration-mode)
(setq semantic-toggle-decoration-style 'semantic-tag-boundary)

;;mru bookmark
(global-semantic-mru-bookmark-mode)

;;sticky func mode
(global-semantic-stickyfunc-mode)

;;imenu tag
(defun my-semantic-hook ()  (imenu-add-to-menubar "TAGS"))
(add-hook 'semantic-init-hooks 'my-semantic-hook)

;;speedbar
(require 'semantic/sb)
(speedbar)

;;semantic qt4 support
(setq qt4-base-dir "/opt/qtomap/usr/include")
(setq qt4-gui-dir (concat qt4-base-dir "/QtGui"))
(semantic-add-system-include qt4-base-dir 'c++-mode)
(semantic-add-system-include "/opt/qtomap/usr/include/QtCore" 'c++-mode)
(semantic-add-system-include qt4-gui-dir 'c++-mode)
(semantic-add-system-include "/opt/qtomap/usr/include/QtNetwork" 'c++-mode)
(semantic-add-system-include "/opt/qtomap/usr/include/QtXml" 'c++-mode)
(add-to-list 'auto-mode-alist (cons qt4-base-dir 'c++-mode))

(setq semantic-lex-c-preprocessor-symbol-file '())
(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qconfig.h"))
(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qconfig-large.h"))
(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qglobal.h"))
(setq semantic-lex-c-preprocessor-symbol-map '())
(add-to-list 'semantic-lex-c-preprocessor-symbol-map '("Q_GUI_EXPORT" . ""))
(add-to-list 'semantic-lex-c-preprocessor-symbol-map '("Q_CORE_EXPORT" . ""))

;;add c++ include
(semantic-add-system-include "/usr/include/c++/4.5" 'c++-mode)
(semantic-add-system-include "/usr/include/bits" 'c++-mode)
(add-to-list 'auto-mode-alist (cons "/usr/include/c++" 'c++-mode))
(add-to-list 'semantic-lex-c-preprocessor-symbol-map '("__nonnull" . ""))
(add-to-list 'semantic-lex-c-preprocessor-symbol-file "/root/.mydefine.h")

;;;; Semantic DataBase Location
(setq semanticdb-default-save-directory
      (expand-file-name "~/.emacs.d/semanticdb"))
;;;;Semantic root dir
(add-to-list 'semanticdb-project-roots "/root/work/svn/CardioServ_Bp_Linux/MyPrj/Phoenix" )
(add-to-list 'semanticdb-project-roots "/root/work/corscience" )
(semantic-add-system-include "/root/work/corscience/responder-applications/gui/src" 'c++-mode)
(semantic-add-system-include "/root/work/corscience/responder-applications/common/src" 'c++-mode)
(semantic-add-system-include "/root/work/corscience/responder-applications/common-gui/src" 'c++-mode)
(semantic-add-system-include "/root/work/corscience/responder-applications/dataprocessing/src" 'c++-mode)
(semantic-add-system-include "/root/work/corscience/responder-applications/common-gui/qtmoni_gui-elements" 'c++-mode)
(semantic-add-system-include "/root/work/corscience/responder-applications/common-gui/qtplotter" 'c++-mode)
(add-to-list 'auto-mode-alist (cons "/root/work/corscience" 'c++-mode))

;;;; C-mode-hooks .
(defun myc-mode-keys ()
  (local-set-key "." 'semantic-complete-self-insert)
  (local-set-key ">" 'semantic-complete-self-insert)
)

(defun myc-mode-toggle ()
  (c-toggle-auto-newline)
  ;(setq c-offsets-alist '((substatement-open . 0))) ;set substatement no add space if {}
)


(add-hook 'c++-mode-hook 'myc-mode-keys)
(add-hook 'c-mode-hook 'myc-mode-keys)
(add-hook 'c++-mode-hook 'myc-mode-toggle)
(add-hook 'c-mode-hook 'myc-mode-toggle)
)
;;C and C++ setup---------------------------------------------------------------

;;select setup
(objc-mode-setup)

;setup gdb
(setq gdb-many-windows 1)
(defun mygdb-mode-hook ()
  (gud-tooltip-mode)
)

(add-hook 'gdb-mode-hook 'mygdb-mode-hook)
(setq x-select-enable-clipboard t);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值