前面对auto-complete的配置有问题,即使用F1开启自动补全功能后,候选列表不会随着输入自动更新,要连续按F1才行。使用如下配置,可以使候选列表在一次补全期间自动更新。
(setq ac-auto-start nil) (defun wl-ac-start () (interactive) (setq ac-auto-start 6) (ac-start)) (defadvice ac-cleanup (after wl-ac-cleanup ()) (setq ac-auto-start nil)) (ad-activate 'ac-cleanup) (define-key global-map (kbd "<f1>") 'wl-ac-start)
自动补全功能入口改为自定义的函数wl-ac-start
,在这个函数里,ac-auto-start
变量的值被设置为6,即当输入字符达到6个时显示候选列表。当本次自动补全完成后,ac-cleanup
函数会清理现场,而自定义的advice wl-ac-cleanup
会在它运行后将ac-auto-start
设置nil
,这样自动补全功能就被关闭了。
你的那个tags-completion-table是在哪里定义的?
怎么没找到呢?
etags.el
你有没有(require ‘etags)?
我的代码是最近从CVS拿下来的,也许是新写的也说不定。
我没用etags,不过看到wiki上面用gtags的,试验了一下,感觉也还好。
请问你是怎么在blog中让lisp code的缩进正确显示的?
欢迎到我的Emacs blog上看看:
zhangda.wordpress.com
我一般是复制到*scratch* buffer里面然后untabify一下,不知道你是不是遇到了TAB的问题。
(setq ac-auto-start nil)
(global-set-key “M-/” ‘ac-start)
(define-key ac-complete-mode-map “M-/” ‘ac-stop)
现在之需要这样就可以了 🙂