7

我对自动完成非常满意,但有一件事让我很烦恼:

我设置为立即显示内联建议,但菜单延迟 0.9 秒。我输入前几个字母,例如“del”,它们会立即自动完成内联以“删除”。如果我想输入“删除”,我会点击TAB,这没关系。但是,如果我想实际键入“del”和换行符怎么办 - 这里RET再次点击自动完成以“删除”。

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

谢谢!

4

1 回答 1

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-complete,并且ac-menu-map是用于完成菜单的键映射。当变量为ac-menu-map时,键盘映射被启用。ac-use-menu-mapt

仅供参考,可以随时按停止完成C-g。因此,您还可以点击C-gRET输入具有RET完整绑定的换行符。此外,您可以使用C-j而不是RET在您想输入换行符时使用。C-j默认情况下不绑定到ac-complete

于 2012-09-30T12:17:14.293 回答