7

我已经安装了auto-complete-mode,我正在使用 org-mode。当我按 TAB 自动完成单词时,它会尝试缩进该行。有时它缩进整个段落,有时它什么也不做。

我尝试自定义变量(setq tab-always-indent 'complete)并将其更改为 nil,但现在当我点击 TAB 时,它只是在屏幕上插入制表符空格。

我知道可以通过 yasnippet 成功使用 org-mode 并自动完成两者都可以正常工作,因为使用Emacs Live它可以开箱即用。

4

3 回答 3

10

自动完成使用变量ac-modes来决定是否在特定模式下启用自动完成,默认情况下org-mode此列表中不存在。因此,要启用自动完成功能,org-mode只需将其添加到ac-modes类似这样的内容中即可

(add-to-list 'ac-modes 'org-mode)

同样要完成使用tab,您需要设置ac-trigger-keytab这样(链接到手册

(ac-set-trigger-key "TAB")
于 2014-02-26T14:27:05.960 回答
1

对我来说,解决方案是org-ac从 melpa-stable 安装。这导致 Emacs 在光标后显示完整的单词,就好像我已经键入它一样,但颜色不同。使用Tab接受该完成。

(Emacs GNU Emacs 24.5.1:)

于 2018-01-06T21:40:55.783 回答
0

我发现的唯一可靠的解决方案是M-xflyspell-mode当我想在 org-mode 中使用自动完成时禁用 flyspell 模式:Emacs 26.1、GTK+ 3.22.30、Org 模式版本 9.1.14、Spacemacs 0.200.13。该建议(add-to-list 'ac-modes 'org-mode)无效,我无法找到ac-flyspell-workaround. 因为 org-mode 中的完成对我来说比 flyspell 模式更有价值,所以我大部分时间都关闭了 flyspell。

于 2019-02-10T17:47:26.420 回答