在Emacs迷你缓冲区中启用自动完成功能

Ant*_*nko 4 emacs elisp

我正试图在迷你缓冲区中自动完成:

(add-hook 'minibuffer-setup-hook 'auto-complete-mode)
Run Code Online (Sandbox Code Playgroud)

我得到的是auto-complete迷你缓冲器的第一个实例,但不再是.这是装满minibuffer-setup-hook后的全部:

(auto-complete-mode turn-on-visual-line-mode ido-minibuffer-setup rfn-eshadow-setup-minibuffer minibuffer-history-isearch-setup minibuffer-history-initialize)
Run Code Online (Sandbox Code Playgroud)

如何auto-complete持续开启?

phi*_*ils 7

如果该函数充当切换(对于大多数次要模式将是这种情况),您很少想要将函数符号添加到钩子变量.

minibuffer-setup-hook在"进入迷你缓冲区后"运行,这意味着您第一次进入迷你缓冲区时将启用自动完成模式; 第二次禁用它; 第三次启用它; 等等...

通常,您要么查看是否有预定义turn-on-autocomplete-mode的函数类型,或者定义自己的函数:

(defun my-turn-on-autocomplete-mode ()
  (autocomplete-mode 1)) ;; an argument of 1 will enable most modes
(add-hook 'minibuffer-setup-hook 'my-turn-on-auto-complete-mode)
Run Code Online (Sandbox Code Playgroud)

我无法测试,因为您没有链接到您正在使用的自动完成模式.