hippie-expand提供的补全功能帮了我不少忙,可是我个人不太偏好这种MS Dos方式的补全。auto-complete.el正合我意,它的作者用一段视频展示了auto complete提供怎样的功能。
我的配置如下:
(when (require-maybe 'auto-complete) (global-auto-complete-mode t) (define-key ac-complete-mode-map "C-n" 'ac-next) (define-key ac-complete-mode-map "C-p" 'ac-previous) (setq ac-auto-start 4) (add-hook 'emacs-lisp-mode-hook (lambda () (make-local-variable 'ac-sources) (setq ac-sources '(ac-source-words-in-buffer ac-source-symbols)))) (defvar ac-source-etags '((candidates . (lambda () (all-completions ac-target (tags-completion-table)))))) (defun wl-add-ac-source-etags () (make-local-variable 'ac-sources) (add-to-list 'ac-sources 'ac-source-etags)) (add-hook 'c-mode-common-hook 'wl-add-ac-source-etags))
考,好强悍的小tool。尝试了一下,在console这个autocomplete也work的。多谢多谢,我以后就用它了
这个在c++-mode下,怎么让提示出来?我的怎么没反应呢?难道要用etags先扫一遍?
不用etags也可以,不过效果就逊色很多,只能补全buffer里出现过的内容。
怎么我这里貌似对C++mode,连出现过的都不出来呢?再研究研究。