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,连出现过的都不出来呢?再研究研究。