如何在GNU Emacs中完成相当于Vim的Ctrl-n?

Paw*_*dan 9 emacs autocomplete

Vim的Ctrl+ N通常是这样的:我输入几个字母,点击Ctrl+ N,Vim根据我所有打开的缓冲区中的单词为我提供完成.

Emacs的解决方案不必完全相同.我主要使用它:声明变量,然后在以后的代码中使用它.但我喜欢解析源代码的轻量级方法.

小智 19

你想要dabbrev-expand,默认绑定到M- /.我没有使用过Vim,但是根据你的描述,它完全相同.

  • 值得注意的是,如果M- /第一次没有给出你想要的东西,反复按下它会循环比赛. (2认同)

Mic*_*nis 13

尝试嬉皮 - 扩展,绑定到你最喜欢的键

(global-set-key (kbd "M-/") 'hippie-expand)
Run Code Online (Sandbox Code Playgroud)

而不是呈现完成列表,通过就地完成重复击中绑定键循环.

为什么"嬉皮士" - 扩张?我不知道,我实际上是避免查看该功能,因为这个名字没有信息且令人反感,直到我读到"Life Is To Short for Bad Code"的写作.(关于hippie-expandEmacsWiki条目也询问"为什么'嬉皮士?'"但是也无法回答它.)


小智 3

我个人使用AutoComplete它给你一个很好的下拉框。您可以选择在激活之前要输入多少个字母,并自定义要显示的内容,包括 dabbrev-expand 中的内容。