3

我正在尝试从 Vim 到 Emacs 的过渡,而我真正怀念的 Vim 功能之一是上下文不敏感的完成弹出窗口(CTRL-nCTRL-p)。例如,在下面的缓冲区中,如果我输入hethen CTRL-n,我会得到一个弹出窗口:

vim 上下文不敏感的补全菜单

如何在 Emacs 中获得类似的上下文不敏感的完成菜单?

注意:我特别想要上下文不敏感,因为跨不同上下文进行引用通常很有帮助(例如,从 Restructured Text 文档中引用 Python 类)——上下文敏感的“全能”不这样做。

此外,我知道这M-/会触发自动完成,但它只会循环匹配;我想要一个显示匹配项的弹出列表。

4

2 回答 2

5

自动完成模式应该可以满足您的需求。

它通常不是由热键触发的,而是类似于:

(setq ac-auto-start nil)
(global-set-key "\M-/" 'auto-complete)

应该做你想做的。

于 2013-07-29T15:13:22.850 回答
1

自动完成模式显示带有匹配项的下拉菜单:http: //cx4a.org/software/auto-complete/manual.html#Basic_Usage

您可以通过 Marmalade 存储库安装它:http: //marmalade-repo.org/,按照说明设置 Marmalade,然后 Mx package-install 自动完成。您必须激活自动完成模式,然后在键入任何内容时它会显示匹配项(默认情况下,您也可以通过按 TAB 来强制它)。

于 2013-07-29T15:31:39.567 回答