我使用一種模式(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. 綁定模板渲染緩衝區幀緩衝區在OpenGL
- 4. emacs的發生鍵綁定搜索緩衝區
- 5. emacs緩衝區綁定到密鑰
- 6. 重新綁定鍵NeoTree緩衝
- 7. Boost.Asio - 自定義緩衝區的多個緩衝區
- 8. 如何在Emacs中創建緩衝區本地鍵綁定?
- 9. 將特定數據從源緩衝區複製到多個目標緩衝區
- 10. Ocaml緩衝區修改特定位置
- 11. 關於幀緩衝區附件的特定組合的OpenGL:GL_FRAMEBUFFER_UNSUPPORTED
- 12. vimscript:使鍵映射僅適用於指定的緩衝區
- 13. Emacs的合併緩衝區爲一個不使用CX 1熱鍵綁定
- 14. 讓emacs grep緩衝區使用特定的emacs緩衝區來顯示命中
- 15. iOS OpenGL ES:何時應該綁定幀緩衝區和渲染緩衝區?
- 16. 如何爲特定緩衝區設置緩衝區本地面屬性?
- 17. 協議緩衝區:無固定大小緩衝區的符號?
- 18. Linux C定義緩衝區
- 19. 如何取消映射vimperator中某個特定站點的某些鍵綁定
- 20. 如何在lwjgl中綁定一個緩衝區
- 21. 我可以綁定多少個緩衝區對象?
- 22. 綁定多個統一緩衝區對象
- 23. 將緩衝區綁定到多個目標
- 24. 爲什麼需要連續多次綁定一個緩衝區?
- 25. 在多個emacs緩衝區執行特定命令
- 26. 有沒有辦法重新綁定當前緩衝區中的「C-h」鍵?
- 27. 如何確定後臺緩衝區上某點的XYZ座標
- 28. 清空鍵盤緩衝區
- 29. Javascript鍵緩衝區問題
- 30. 如何綁定q關閉Vim中的只讀緩衝區?
有點困惑 - 你說你運行的模式 - 如何定義運行模式?有沒有定義任何模式鉤子?如果是這樣,您可以創建特定於模式的鍵盤映射並使用它在本地綁定q以退出該模式。沒有足夠的細節更具體。 –
merlin打開的緩衝區(在C-C C-t上)不運行merlin模式本身。這只是一個消息緩衝區,它包含了我所指定的表單類型。當我知道打開這個類型的緩衝區時,沒有鉤子被調用。我能想到的唯一的事情就是具有一致的名稱。 – Isaac
只是一個想法:你可以自己推導一個合適的模式,並添加一個條目到'auto-mode-alist',使緩衝區處於該模式?不知道這是否是處理這個問題的正確方法,但它應該非常簡單。 –