如何在minibuffer中使用M-x?

3

假设我想创建一个文件,然后被要求输入名称。我想使用日期作为文件名。我想使用M-x insert date(我自己定义的)。我该怎么做?

1个回答

4

在第一次进入迷你缓冲区之前,将变量enable-recursive-minibuffers设置(或绑定,根据上下文而定)为非nil(例如t)。

这样可以让您在迷你缓冲区内使用动作,例如M-x,这些动作本身会激活迷你缓冲区。第二次激活发生在递归迷你缓冲区中。当它结束时(例如,在回答M-x提示后按下RET),事情会继续进行,初始迷你缓冲区仍然处于活动状态。


3
我建议你使用(minibuffer-depth-indicate-mode 1),这样你可以看到自己是否在递归迷你缓冲区中。没有这个设置会让情况变得混乱。 - phils
我赞同@phils的建议。另请参阅库mbdepth+.el,它让你自定义指示器。我还使用oneonone.el,这使得当进入递归minibuffer时更加明显。 - Drew
不要忘记 M-x abort-recursive-edit 或者 C-],以防你深入递归编辑并想跳出堆栈。 - Trey Jackson
@TreyJackson:是的。此外,在迷你缓冲区中,C-g 的行为正常,但在迷你缓冲区的顶层(即不在某些命令内部),它也会弹出一个递归级别。 - Drew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接