二月 07, 2009

Auto complete

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))

4 条评论:

时间 4:43 下午 , Anonymous Samuel 说...

考,好强悍的小tool。尝试了一下,在console这个autocomplete也work的。多谢多谢,我以后就用它了

 
时间 12:16 下午 , Anonymous 匿名 说...

这个在c++-mode下,怎么让提示出来?我的怎么没反应呢?难道要用etags先扫一遍?

 
时间 4:13 下午 , Blogger netcasper 说...

不用etags也可以,不过效果就逊色很多,只能补全buffer里出现过的内容。

 
时间 11:11 上午 , Anonymous 匿名 说...

怎么我这里貌似对C++mode,连出现过的都不出来呢?再研究研究。

 

发表评论

指向此帖子的链接:

创建链接

<< 主页