2012-09-30 65 views
7

我很高兴与RET不会触发自动完成,但有一级件事我的错误:Emacs的自动完成:内联建议

我设置,以立即显示内嵌的建议,但与0.9菜单延迟。我输入前几个字母,例如“del”立即自动完成内联“删除”。如果我想输入“删除”,我打TAB,这是没问题的。但是如果我想实际输入“del”和一个换行符 - 在这里再次点击RET自动完成“删除”。

如果只显示内联建议,我如何强制RET为换行符?一旦显示自动完成菜单,我希望它再次成为触发键。

谢谢!

+0

尝试'del Ctrl-d'。我不在电脑上,我可以检查。 – Tyler

回答

8

之后,加入其他设置以下线的auto-complete模式,您可以通过RET能够完成显示完成菜单只有当:

(define-key ac-completing-map "\C-m" nil) 
(setq ac-use-menu-map t) 
(define-key ac-menu-map "\C-m" 'ac-complete) 

ac-completing-map是键盘映射,其中RET是默认绑定到ac-completeac-menu-map是在完成菜单上完成的键盘映射。当ac-use-menu-map变量为t时,将启用ac-menu-map键盘映射。

仅供参考,完成可以通过在任何时间按C-g来停止。因此,您还可以点击C-gRET以输入换行符,换行符为RET完整。此外,您可以使用C-j而不是RET当您要输入换行符时。 默认情况下,C-j不绑定到ac-complete

+0

谢谢!这工作!我知道C-g(我也有ESC绑定到这个功能),但是打破了平滑的流程。 – user673592