emacs相当于使用ctrl P完成vim的单词

时间:2014-09-02 09:43:24

标签: emacs

使用vim,我可以通过在插入模式下点击C-p来自动完成并获取缓冲区中任何单词的列表。

emacs中是否有类似的命令?

2 个答案:

答案 0 :(得分:7)

您可以使用hippie-expand命令完成。要将其绑定到 Alt + / ,请使用

(global-set-key "\M-/" 'hippie-expand)

答案 1 :(得分:7)

除了@choroba提到的hippie-expand之外,还有另外两种标准的Emacs字完成方法:

  • M-/C-M-/ - 动态缩写扩展(又名dabbrev)。请参阅Emacs手册,节点Dynamic Abbrev Expansion

  • {li>

    M-RETC-RET dynamic-completion-mode - 标准Emacs库completion.el

图书馆 completion.el 很老,显然鲜为人知,但效果很好。您不仅可以完成相同缓冲区中的单词,还可以填写过去中使用的单词(程序符号等),包括过去的Emacs会话。

您最常用的完成次数优先。 dynamic-completion-mode打开时的操作记录在"数据库"在磁盘上:您键入或遍历的单词等。要充分利用库completion.el,请阅读文件中的Commentary。没有其他文档,但Commentary非常清楚(如果不是完全最新的)。

图书馆Icicles增强了上述两种词语完成方法dabbrevcomplete的使用。当有多个可能的完成时,它允许您使用更好的匹配可能性选择一个(例如,子串,正则表达式,而不仅仅是前缀)。