emacs - 带键盘的鼠标缓冲区菜单

标签 emacs

是否可以调用弹出的图形菜单'mouse-buffer-menu(在我的例子中分配给'[C-down-mouse-1])而不实际点击鼠标?当我调用 M-x mouse-buffer-menu emacs 告诉我

execute-extended-command: mouse-buffer-menu must be bound to an event with parameters

是否有可能生成这样的事件?

我想要的是一个列表(即图形弹出菜单),我可以在其中通过使用向上/向下键选择打开的缓冲区集来进行选择。我很了解 buffer-menu,但不幸的是,它只提供所有缓冲区的只读列表,而没有选择一个的选项。

亲切的问候, 梅菲克斯

最佳答案

经过一番挖掘和播放后,我创建了一个事件并将其传递给mouse-buffer-menu

您可以使用列表中的数字来达到所需的效果。

(setq my-dummy-event `(mouse-1 (,(selected-window) 0 (0 . 0) 0 nil 0 (0 . 0) nil nil nil) 1))

(mouse-buffer-menu my-dummy-event)

查看 emacs 手册节点 Click Events找出事件列表的结构。

作为旁注,您是否考虑过缓冲区选择的替代方案,例如 ido或使用诸如 bs-show 之类的东西来选择缓冲区:

(global-set-key "\C-x\C-b" 'bs-show)

使用a切换所有缓冲区。

您还可以在这里找到更好的替代方案:

关于emacs - 带键盘的鼠标缓冲区菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4013079/

相关文章:

c++ - 获取 emacs 的访问标签缩进以添加缩进级别

emacs - 如何停止对大型 repl 结果的评估,导致带有 swank clojure 的 Slime 减慢速度?

node.js - 我可以使用swank-js在js2模式下完成node.js API吗?

Emacs 配置

macos - 如何在 OSX 上的 GNU Emacs 中获得透明窗口?

Emacs FTP 不适用于 Ubuntu 中的某些站点

emacs - 如何在 Emacs 中定义比三轮向下更快的滚动?

emacs - 如何重新加载 emacs 主要模式?

emacs - 在 Emacs 中立即杀死 dired 缓冲区

emacs - 如何在 Emacs 中复制整行?