[转]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


https://github.com/mikeandmore/auto-complete-clang这个网址去下载tar.gz包,解压缩,按照readme的内容,把auto-complete-clang.el 放入emacs的loadpath中,然后把 sample-config.el的内容抄入.emacs中, clang的自动补全非常好用

自己写个了PKGBUILD,放到aur上面了,archlinux直接安装 yaourt -S auto-complete-clang,然后按照提示写入.emacs文件就可以了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值