为了账号安全,请及时绑定邮箱和手机立即绑定

自动完成模式

自动完成模式

Go
30秒到达战场 2021-05-05 18:41:39
我试图通过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和中go-mode.el,并auto-complete-mode像这样调用:(auto-complete-mode t)(provide 'go-mode)两种方式都不起作用。我还添加了go-mode-hooktoauto-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))那也不行。在为缓冲区启用主要模式后立即触发命令的最佳方法是什么?
查看完整描述

2 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

您尝试了哪些变体?如果您在前面添加单引号,则应该可以使用auto-complete-mode

(add-hook 'go-mode-hook 'auto-complete-mode)

如果不带引号,auto-complete-mode则将其解释为变量,并将该变量的值添加到中go-mode-hook。为此,此类变量应包含函数引用作为其值。最有可能的是,尽管没有命名的变量auto-complete-mode,Emacs会抱怨。

通过添加引号,您可以告诉Emacs这不是变量,而是您希望钩子调用的实际函数。另请参阅此处此处


查看完整回答
反对 回复 2021-05-17
  • 2 回答
  • 0 关注
  • 192 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信