【问题标题】:How to TAB to auto-complete with org-mode?如何使用 org-mode 自动完成 TAB?
【发布时间】:2014-03-29 10:39:23
【问题描述】:

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

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

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

【问题讨论】:

  • 你试过了吗:(ac-flyspell-workaround)

标签: emacs org-mode emacs-prelude


【解决方案1】:

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

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

还要使用 tab 完成,您需要像这样将 ac-trigger-key 设置为 tab(链接到 manual

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

【讨论】:

  • 谢谢。不幸的是,这不起作用。自动完成模式已打开,在模式行中显示 AC。我可以通过M-x auto-complete触发完成,但是TAB仍然没有效果。
  • C-h k tab 给了什么?它是否提供类似TAB (translated from <tab>) runs the command ac-trigger-key-command,
  • 运行命令 org-cycle,它是 `org.el' 中的交互式自动加载 Lisp 函数。
  • 哦,对了!我怎么能忘记org-mode 使用tab 键,您可以通过覆盖tab 键在org-mode 中自动完成,但我建议不要这样做,因为tab 在@987654339 中是非常有用的键@。如果需要,您可以将自动完成绑定到其他键。
  • 好吧,在我的 emacs 上,(add-to-list 'ac-modes 'org-mode) 会导致启动时出错,因为 'ac-modes 的定义是无效的,所以没有添加。
【解决方案2】:

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

(Emacs:GNU Emacs 24.5.1

【讨论】:

    【解决方案3】:

    我发现的唯一可靠的解决方案是在我想在 org-mode 中使用自动完成时禁用 flyspell 模式 Mxflyspell-mode: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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-05
      • 1970-01-01
      • 2012-11-14
      • 2013-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多