Emacs 启动时自动完成模式
Posted
技术标签:
【中文标题】Emacs 启动时自动完成模式【英文标题】:Emacs auto-complete-mode at startup 【发布时间】:2011-12-27 02:22:34 【问题描述】:我只是安装自动完成模式,但是每次我启动 emacs 时,我都必须 M-x 自动完成模式。反正有没有自动加载?
我的.emacs如下:
;; auto-complete
(add-to-list 'load-path "~/.emacs.d/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)
谢谢
【问题讨论】:
我认为Emacs Wiki 中提出了解决方案。搜索 real-global-auto-complete-mode 看看这是否适合您。 【参考方案1】:我认为您可以通过多种方式做到这一点。要全局启用它,您应该使用
(global-auto-complete-mode t)
但它使用自动完成模式-maybe,它只打开ac-modes
中列出的 AC。您可以像这样手动添加它们
(add-to-list 'ac-modes 'sql-mode)
如果您希望 AC 仅在少数模式下处于活动状态,您可以创建自己的列表
(setq ac-modes '(c++-mode sql-mode))
或者重写它以使 AC 无处不在。
(defun auto-complete-mode-maybe ()
"No maybe for you. Only AC!"
(auto-complete-mode 1))
已编辑:
迷你缓冲区中的自动完成功能很糟糕。我觉得这样会更好。
(defun auto-complete-mode-maybe ()
"No maybe for you. Only AC!"
(unless (minibufferp (current-buffer))
(auto-complete-mode 1)))
【讨论】:
在执行(global-auto-complete-mode t)
之前指出您需要(require 'auto-complete)
可能会有所帮助。
我发现(setq ac-modes '(c++-mode sql-mode))
是实现我想要的最简单的方法(并且最不模糊)。
这些选项都不适用于我在 Ubuntu x86 上的 emacs 24.3.1 上。我看到模式行 (AC
) 上的状态,但没有任何 AC 功能起作用,我知道它们可以工作,因为我曾经使用 M-x auto-complete-mode
手动打开它。对我有用的是emacs.stackexchange.com/questions/18982/…
如何为 auto-complete-mode-maybe
分配键绑定? @desudesudesu【参考方案2】:
我只需要这个:
(require 'auto-complete)
(global-auto-complete-mode t)
添加到我的 .emacs.d/init.el 文件中。
我使用包管理器安装了自动完成功能。我正在使用 Emacs 24。
【讨论】:
请注意即使使用此设置,AC 模式也不会在每种模式下都打开。例如,如果没有像接受的答案那样重写auto-complete-mode-maybe ()
,AC 模式将无法在 ReST 模式下工作。
我应该按 TAB 吗? @弗兰克·赫纳德以上是关于Emacs 启动时自动完成模式的主要内容,如果未能解决你的问题,请参考以下文章