我对自动完成非常满意,但有一件事让我很烦恼:
我设置为立即显示内联建议,但菜单延迟 0.9 秒。我输入前几个字母,例如“del”,它们会立即自动完成内联以“删除”。如果我想输入“删除”,我会点击TAB
,这没关系。但是,如果我想实际键入“del”和换行符怎么办 - 这里RET
再次点击自动完成以“删除”。
RET
如果只显示内联建议,我如何强制换行?显示自动完成菜单后,我希望它像往常一样再次成为触发键。
谢谢!
我对自动完成非常满意,但有一件事让我很烦恼:
我设置为立即显示内联建议,但菜单延迟 0.9 秒。我输入前几个字母,例如“del”,它们会立即自动完成内联以“删除”。如果我想输入“删除”,我会点击TAB
,这没关系。但是,如果我想实际键入“del”和换行符怎么办 - 这里RET
再次点击自动完成以“删除”。
RET
如果只显示内联建议,我如何强制换行?显示自动完成菜单后,我希望它像往常一样再次成为触发键。
谢谢!
通过在模式的其他设置之后添加以下行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-map
t
仅供参考,可以随时按停止完成C-g。因此,您还可以点击C-g并RET输入具有RET完整绑定的换行符。此外,您可以使用C-j而不是RET在您想输入换行符时使用。C-j默认情况下不绑定到ac-complete
。