emacs 自动补全

(setq gdb-many-windows t)  ;;设置M-x gdb 执行后,开启更方便的gdb窗口
C-M-f 跳转到对应结束符号  C-M-b 跳转到对应开始符号
M+/  自动补全
M-x speedbar-get-focus  开启speedbar
M-x ecb-activate        打开ecb



CTAGS:

ctags -e -R *           生成emacs用的TAGS

使用etag快捷键:
M-x visit-tags-table    指定TAGS文件
M-. 		查找一个tag,比如函数定义类型定义等。
C-u M-. 	查找下一个tag的位置
C-M-.           输入函数名,查找定义
M-* 		回到上一次运行M-.前的光标位置。
M-TAB 		自动补齐函数名(M可用ESC代替)


Global:

gtags *        生成GTAGS

gnu global命令都是 gtags开头的,
M-x gtags-mode 开启gtags
gtags-visit-rootdir  设置gtags根目录


补全(yasnippets & auto-complete):

yasnippets sudo yaourt -S emacs-yasnippets

sudo yaourt -S auto-complete aur里面竟然没有,汗,这个的PKGBUILD 是我自己写的



gccsense:

转载:
gcc-code-assist
gcc4.4代码基础上改的那位,用来从被补全代码中分析出补全信息
gccrec
编译一个文件,往往要加上编译参数的,比如自定义的include地址。但是编辑器在补全的时候,是不知道这些的,硬生生地调用gcc-code-assist来“模拟编译”,参数补全造成的错误会扰乱补全信息的获取。
gccrec就是为了解决这个问题,在使用编辑器补全之前,需要执行一次gccrec,它会将编译参数信息存到~/.gccrec这个sqlite3的数据库中。具体用法参见下一节的示例。
autopch
用来启用预编译头,来提高速度。
autopch gcc-code-assist *.c

gcc-code-assist gccsense
绑定补全
(require 'gccsense)
(global-set-key (kbd "M-/") 'ac-complete-gccsense)

先记录编译命令
gccrec gcc-code-assist *.c
gccrec g++-code-assist *.cpp
然后就可以补全了 alt+/
??? 目前似乎只有cpp才支持,c不支持???


Clang:

You should probably use clang_complete, not gccsense.
clang-complete 更好用些,下面几个实现:

http://mike.struct.cn/blogs/entry/15/

https://github.com/mikeandmore/auto-complete-clang

https://github.com/brianjcj/auto-complete-clang

https://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.el

posted on 2012-05-08 17:21  Richard.FreeBSD  阅读(1653)  评论(0)    收藏  举报

导航