需要在 init.el 文件中进行哪些设置,如果单击 Mx 和命令的首字母,则允许完成其余命令。
事实上,minibuffer 也需要类似于 ido-mode 的东西
“Mx minifuffer”的 ido 模式称为 smex(smex 使用 ido)。
在 Emacs 的主包 repos 上可用。主页在这里
我认为您在谈论增量完成,即让 Emacs 自动完成您在 minibuffer 中键入的内容,而无需显式请求完成(例如,使用TAB
)。
增量完成在Icicles以及Ido和IswitchB中可用。并icomplete-mode
以与 Ido 和 IswitchB 类似的方式向您显示完成候选。
Icicles增量完成有两个方面:
当缓冲区*Completions*
显示和更新时,向您显示与您的输入相匹配的候选人 -- 多久会发生以及触发更新的原因
您的 minibuffer 输入是否以及多少扩展(完成)以反映匹配完成集
Wrt*Completions*
显示(#1):
您可以随时使用C-#
在关卡(正常、急切、关闭)之间循环。
正常意味着*Completions*
在您要求之前不会显示,但此后会在您键入/编辑输入时自动更新。
急切意味着*Completions*
只要您键入与至少两个候选人匹配的内容,就会显示该内容。
(在您输入任何内容之前,还有一个 *Completions*
从一开始就显示的选项 - 作为一种菜单很有用。)您还可以指定在输入或删除字符后等待多长时间再更新*Completions*
。
Wrt 输入扩展(#2):
Icicles在将您的输入扩展到(通常)所有补全中最长的公共匹配方面是独一无二的,即使补全使用适当匹配(即正则表达式或子字符串 -- S-TAB
),而不仅仅是前缀匹配 ( TAB
)。
此扩展有 4 个级别/行为,加上关闭(无扩展):
TAB
或S-TAB
)TAB
, on request for S-TAB
--TAB
尽可能扩展;S-TAB
就像以前一样C-"
在您选择的两个输入扩展行为(用户选项)之间切换,并C-M-"
在所有行为之间循环。