gpt4 book ai didi

emacs:无法杀死 Minibuffer

转载 作者:行者123 更新时间:2023-12-04 18:07:30 29 4
gpt4 key购买 nike

我对 emacs 相当陌生,当我认为它不应该保持事件状态时,我遇到了 minibuffer 保持事件状态的问题。我对“其他窗口”有以下映射:

 (global-set-key (kbd "M-s M-s") 'other-window)

我知道如果它处于事件状态,这将在 minibuffer 中循环,我喜欢这种行为。问题是我的迷你缓冲区一直卡在以下状态:
Next element matching (regexp):

有时当我什至不尝试进行正则表达式搜索甚至根本不进行搜索时,它就会进入那里。当我点击 C-g杀死它,我得到 Quit消息,但小缓冲区保持事件状态并立即返回
Next element matching (regexp): 

此外,当它处于这种状态时,我无法使用 M-s M-s到达我框架中的下一个窗口。 C-x o不过似乎仍然有效。

我似乎也能够很好地运行其他 minibuffer commnands(例如文件搜索),即使我被这样卡住了。

有没有办法可以执行以下操作之一:
  • 在该模式下终止 minibuffer。
  • 设置我的自定义“其他窗口M-s M-s函数离开小缓冲区并进入下一个窗口?

  • 任何一种解决方案都可以,尽管第一个解决方案可能会更好,因为让 minibuffer 卡住可能会产生其他意想不到的后果。

    最佳答案

    只需这样做:

    (define-key minibuffer-local-map "\M-s" nil)

    问题是 M-s在小缓冲区中(在 minibuffer-local-must-match-map 和其他小缓冲区键映射中)本地绑定(bind)到 next-matching-history-element ,它会为您提供提示并让您搜索历史记录。

    你需要做的是解绑 M-s在每个 minibuffer 键映射中:即,将其绑定(bind)到 nil .其中一些 map 继承自其他 map ; minibuffer-local-map应该处理它,但您可能想对 minibuffer-local-ns-map 做同样的事情. M-x apropos-variable minibuffer map告诉你所有的 map 。

    [您可以使用 C-h M-k查看任何键盘映射的绑定(bind),例如 minibuffer-local-must-match-map -- 在图书馆 help-fns+.el 中可用.]

    关于emacs:无法杀死 Minibuffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23569462/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com