【问题标题】:How to simulate return in emacs minibuffer如何在emacs minibuffer中模拟返回
【发布时间】:2012-01-11 21:07:09
【问题描述】:

我想要做的是,当我发现自己使用一个提示我输入值的函数,并且这个值总是正确的值时,能够将函数绑定到一个键并自动接受答案,在 minibuffer 中模拟一个 RET。

以“ido-switch-buffer”为例。输入后,它会提示您输入缓冲区名称,并建议您上次访问的缓冲区。

(它可以做更多的事情,这就是为什么我不想重新定义它,我只是想要一个包装器)

假设我想在最后访问的两个缓冲区之间切换,我的 .emacs 中该怎么说?

【问题讨论】:

    标签: emacs elisp minibuffer


    【解决方案1】:

    您可以将任何键盘宏(本质上是一个键序列)绑定到一个键。例如,

    (global-set-key (kbd "C-c b") (kbd "C-x b <return>"))
    

    【讨论】:

    • 嗯.. 不,不是在这种情况下。 (global-set-key (kbd "C-&lt;tab&gt;") 'ido-switch-buffer) (global-set-key (kbd "C-&lt;tab&gt;") (kbd "C-&lt;tab&gt; &lt;return&gt;"))只给我After 0 kbd macro iterations: Variable binding depth exceeds max-specpdl-size
    • 我真的很想知道,用 elisp 的说法,你如何说“接受 minibuffer 的建议”
    • 定义的键不应该是定义序列的一部分,如你所见,这将导致无限递归。
    【解决方案2】:

    你可以这样做:

    (switch-to-buffer (other-buffer))
    

    【讨论】:

    • 成功了。不是我想要的方式,但是猫被剥了皮:) 谢谢迈克尔!
    • @PhilippeCM 如果它没有以您想要的一般方式解决您的问题,您为什么要接受这个答案?怀远实际上给了你你想要的,你只是将解决方案误用为无限循环。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 2014-03-14
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    相关资源
    最近更新 更多