我希望某些鑰匙和鑰匙組合的行爲與Emacs中的其他鑰匙或鑰匙組合一樣。例如,我想F5表現爲C-C的替代每一個可能的組合,涉及它,或者C-S-爲C-。如果不手動重新綁定所有這些組合鍵,是否可以這樣做?使鑰匙表現爲另一個鑰匙
13
A
回答
8
您所指的鍵稱爲'前綴鍵'。前綴鍵有自己的鍵盤映射,所以要使另一個鍵行爲相同,您需要將其分配給相同的鍵盤映射。對於控制-C,使用mode-specific-map
:自身
(global-set-key (kbd "<f5>") mode-specific-map)
控制不是一個前綴鍵,或者一個真正的關鍵在所有的,因爲它不發送按鍵Emacs的 [1]直到你打另一個鍵。我不確定如何在Emacs內重新映射C-S-到C-。你可以用xmodmap在系統範圍內完成,但這可能不是你想要的。
[1]的控制鍵(SHIFT,ALT)做派按鍵操作系統,但Emacs的不「看」這一點,除非有在同一時間按下另一個鍵
5
我喜歡
(define-key key-translation-map [f5] (kbd "\C-c"))
總結上面給出的鏈接:global-set-key的缺點是,當您定義組合鍵輸入符號時,它在isearch中不起作用。
鍵翻譯地圖也有問題。想象一下你定義了一個符號|執行命令並且C- |輸入符號|,按C- |將執行該命令。
相關問題
- 1. 鑰匙
- 2. Jenkins刪除鑰匙扣中的鑰匙
- 3. 鑰匙串訪問中沒有鑰匙
- 4. 鑰匙鏈出口爲iPhone SDK(瞳孔鑰匙和私人鑰匙和certficates,...)
- 5. 使用鑰匙PHP
- 6. Rails的Model.find鑰匙沒找到,Model.where鑰匙上發現
- 7. AngularJS無鑰匙
- 8. 無鑰匙
- 9. iPhone鑰匙扣
- 10. 無鑰匙
- 11. Angularfire無鑰匙
- 12. Gnuplot鑰匙盒
- 13. 發現並拿到鑰匙
- 14. 液體 - 你可以有一把鑰匙,裏面還有另一把鑰匙。
- 15. 使鑰匙發送2個不同的鑰匙,但等待X時間發送第二個鑰匙?
- 16. 鑰匙扣使用什麼鑰匙選項?
- 17. 帶鑰匙的列表
- 18. 改換一堆鑰匙
- 19. 鑰匙失蹤UC
- 20. 關於總鑰匙
- 21. 鑰匙串證書
- 22. 鑰匙串問題
- 23. 鑰匙扣證書
- 24. 鑰匙店別名
- 25. @autowired與新鑰匙?
- 26. Ansible EC2鑰匙圈
- 27. 不需要鑰匙
- 28. XSLT「鑰匙」將在「使用」
- 29. iPhone和Xcode鑰匙串 - 無法刪除鑰匙串?
- 30. 鼠標鑰匙扣 - 鑰匙聽者沒有觸發
+1但是... *「控制本身不是一個前綴密鑰,或者真的是一個關鍵,因爲它不會發送按鍵」* ...控制肯定會自己發送一個按鍵。你可以在Linux下使用* xev *來查看。它在你按下時發送一個按鍵,當你釋放它時發送一個按鍵。在我的系統上CTRL的* xev *輸出給出:* KeyPress eventKeyPress事件...狀態0x14,鍵碼37(keysym 0xffe3,Control_L)... *等我有點爭議,你寫的控制不是「真的關鍵「。我的鍵盤的CTRL和CAPS-LOCK重新映射爲CTRL的功能確實具有攻擊性; ) – TacticalCoder
@TacticalCoder:公平點,就X而言。但我不認爲X註冊的按鍵是Emacs自己可見的。如果Emacs沒有修改另一個密鑰,Emacs無法檢測或響應修改鍵。所以從Emacs的角度來看,CTRL本身並不是一個關鍵,直到它與另一個關鍵相結合。 – Tyler