我使用一种模式(merlin,但没关系),当在其中显示类型信息时打开名为*merlin-type*
的缓冲区。我希望能够在该缓冲区中输入q
以关闭它。没有特定于我可以连接到的缓冲区的模式;我想要做的是创建一个缓冲区本地键绑定;我该如何做/我还应该做些什么?特定于某个缓冲区的键绑定
1
A
回答
1
有钩子,这不是模式特定的。例如
(add-hook 'post-self-insert-hook #'DWIM)
或
(add-hook 'post-command-hook #'DWIM)
然后
(defun DWIM()
(when (string= MyPrefferedName (buffer-name (get-buffer (current-buffer))))
DoWhatIWant))
或
(defun DWIM()
(when (buffer-live-p MyPrefferedBuffer)
DoWhatIWant))
+0
问题是缓冲区没有切换到,所以它不是当前缓冲区。 – Isaac
+0
@Isaac如果特定的键绑定应该在某个缓冲区中处于活动状态,那么只有当它处于最新状态时才有意义。 AFAIU它只能设置。 –
相关问题
- 1. Emacs保存缓冲区键绑定?
- 2. TransformFeedback绑定多个输出缓冲区
- 3. emacs的发生键绑定搜索缓冲区
- 4. emacs缓冲区绑定到密钥
- 5. 重新绑定键NeoTree缓冲
- 6. Boost.Asio - 自定义缓冲区的多个缓冲区
- 7. 将特定数据从源缓冲区复制到多个目标缓冲区
- 8. 如何在Emacs中创建缓冲区本地键绑定?
- 9. Ocaml缓冲区修改特定位置
- 10. Emacs的合并缓冲区为一个不使用CX 1热键绑定
- 11. 让emacs grep缓冲区使用特定的emacs缓冲区来显示命中
- 12. iOS OpenGL ES:何时应该绑定帧缓冲区和渲染缓冲区?
- 13. 协议缓冲区:无固定大小缓冲区的符号?
- 14. 如何取消映射vimperator中某个特定站点的某些键绑定
- 15. 将缓冲区绑定到多个目标
- 16. 绑定多个统一缓冲区对象
- 17. 如何在lwjgl中绑定一个缓冲区
- 18. 如何确定后台缓冲区上某点的XYZ坐标
- 19. Javascript键缓冲区问题
- 20. 清空键盘缓冲区
- 21. 我的OpenGL版本不支持缓冲区绑定
- 22. 顶点属性缓冲区绑定到错误的属性
- 23. 无法呈现到绑定到帧缓冲区的纹理
- 24. 套接字缓冲区与套接字的绑定
- 25. WCF绑定中的最大缓冲区大小是多少?
- 26. 声明特定大小的缓冲区的算法方式
- 27. 接收到一个指定的缓冲区,它不一定是Emacs Lisp中的当前缓冲区
- 28. C++ istream的自定义流缓冲区
- 29. 如何从vim中删除特定的文件缓冲区?
- 30. 在字节的特定偏移处写入。缓冲区
有点困惑 - 你说你运行的模式 - 如何定义运行模式?有没有定义任何模式钩子?如果是这样,您可以创建特定于模式的键盘映射并使用它在本地绑定q以退出该模式。没有足够的细节更具体。 –
merlin打开的缓冲区(在C-C C-t上)不运行merlin模式本身。这只是一个消息缓冲区,它包含了我所指定的表单类型。当我知道打开这个类型的缓冲区时,没有钩子被调用。我能想到的唯一的事情就是具有一致的名称。 – Isaac
只是一个想法:你可以自己推导一个合适的模式,并添加一个条目到'auto-mode-alist',使缓冲区处于该模式?不知道这是否是处理这个问题的正确方法,但它应该非常简单。 –