每当通过 go-mode 加载 .go 文件时,我都会尝试启用自动完成模式。如果我为 Go 源文件手动调用自动完成模式,它会起作用,但是当我尝试将其添加到 .emacs 时,它不起作用:
(add-hook 'go-mode-hook auto-complete-mode)
我已经尝试了一些变体,但似乎都没有。以下是我的 .emacs 中当前的 Go-Mode 片段:
;; Load Go Mode
(require 'go-mode-load)
(add-hook 'go-mode-hook 'auto-complete-mode)
我尝试像这样创建自己的钩子函数:
;; Load Go Mode
(require 'go-mode-load)
(defun auto-complete-for-go ()
(auto-complete-mode 1))
(add-hook 'go-mode-hook 'auto-complete-for-go)
go-mode-load.el
我还尝试在and中包含钩子go-mode.el
,以及auto-complete-mode
像这样调用:
(auto-complete-mode t)
(provide 'go-mode)
无论如何都行不通。我还添加了go-mode-hook
toauto-complete-default
函数,如下所示:
(defun ac-config-default ()
(setq-default ac-sources '(ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers))
(add-hook 'go-mode-hook 'ac-common-setup)
;; Other hooks
(global-auto-complete-mode t))
那也行不通。在为缓冲区启用主要模式之后触发命令的最佳方法是什么?