gpt4 book ai didi

emacs - 在缓冲区中输入时监听键盘事件

转载 作者:行者123 更新时间:2023-12-01 02:22:39 27 4
gpt4 key购买 nike

我是 emacs lisp 的新手。我想知道在 elisp 中是否可以在输入缓冲区时监听键盘事件。我阅读了 read-key-sequence/read-key-sequence-vector/read-event/read-key 的文档,结果这些命令阻止了缓冲输入流,因为在调用时,后续的击键不会出现在缓冲区。例如。如果我在当前缓冲区中键入“go”然后调用 read-key-sequence 然后键入“o”,则第二个“o”被视为命令序列而不是缓冲区内容文本的字符。

虽然我可能已经找到了解决此问题的方法,但以编程方式将击键插入缓冲区:

(catch 'break
(while
(progn
(let
((strokes (read-key-sequence-vector nil)))
(if
(equal strokes [27 27 27])
(throw 'break nil)
(insert strokes)))
t)))

我更愿意看看是否有更好的方法来实现这一目标。如果 elisp 可以像 javascript 那样做事件驱动的东西,那就太好了
 someObject.addEventListener('keydown', function (e) { ... })

这当然只是我的希望。 :)
谢谢。

最佳答案

如果我明白你在做什么,你应该看看 post-self-insert-command-hook .这将允许您在每次常规按键(不包括键盘快捷键)后运行您的功能。

关于emacs - 在缓冲区中输入时监听键盘事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19107854/

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