配置环境:emacs 24
配置emacs包管理的源
; start package.el with emacs
(require 'package)
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
("marmalade" . "http://marmalade-repo.org/packages/")
("melpa" . "http://melpa.milkbox.net/packages/")))
; initial package.el
(package-initialize)
安装auto-complete插件
在emacs中运行package-list-packages
选择
auto-complete
选择安装 i 然后执行安装 x
安装完之后配置.emacs 文件
; start auto-complete with emacs
(require 'auto-complete)
; default config
(require 'auto-complete-config)
(ac-config-default)
安装yasnippet
在emacs中运行package-list-packages
选择
yasnippet
选择安装 i 然后执行安装 x
安装完之后配置.emacs 文件
; start yasnippet with emacs
(require 'yasnippet)
(yas-global-mode 1)
安装auto-complete-c-headers
首先看看系统的head的搜索路径
gcc -xc++ -E -v -
本例中使用
/usr/lib/gcc/x86_64-linux-gnu/4.8/include
在emacs中运行package-list-packages
选择
auto-complete-c-headers (可以搜索c/c++ header files)
选择安装 i 然后执行安装 x
安装完之后配置.emacs 文件
; define a function which initializes auto-complete-c-headers and gets called for c/c++ hooks
(defun my:ac-c-header-init ()
(require 'auto-complete-c-headers)
(add-to-list 'ac-sources 'ac-source-c-headers)
(add-to-list 'achead:include-directories '"/usr/lib/gcc/x86_64-linux-gnu/4.8/include")
)
; now let's call this function from c/c++ hooks
(add-hook 'c++-mode-hook 'my:ac-c-header-init)
(add-hook 'c-mode-hook 'my:ac-c-header-init)
安装索引文件
(require 'xcscope)
(cscope-setup)
工程的根目录运行
cscope-index -r
生成索引文件
快捷键都绑定在
Ctrl-c s-x
Ctrl-c s-u 返回