如何使用org-mode自动完成TAB?

时间:2014-02-26 14:18:45

标签: emacs org-mode emacs-prelude

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

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

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

3 个答案:

答案 0 :(得分:8)

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

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

另外要使用标签完成,您需要将ac-trigger-key设置为标签,如此(链接到manual

(ac-set-trigger-key "TAB")

答案 1 :(得分:1)

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

(Emacs:GNU Emacs 24.5.1

答案 2 :(得分:0)

我发现的唯一可靠的解决方案是当我想在组织模式下使用自动完成功能时禁用flyspell模式 Mx flyspell-mode:Emacs 26.1,GTK + 3.22.30,组织模式版本9.1.14,Spacemacs 0.200.13。建议(add-to-list 'ac-modes 'org-mode)不起作用,我找不到ac-flyspell-workaround。因为在组织模式下完成对我来说比flyspell模式更有价值,所以我经常关闭flyspell。