是否可以调用弹出的图形菜单'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/