我试图在我的emacs配置中覆盖Meta +左/右箭头键,但无法弄清楚如何引用键序列。
如果我直接与Emacs交互,我可以输入 “M-x,全局设置键,M-,下一个缓冲区”,它工作正常。但我无法弄清楚如何在我的init.el文件中键入它。这些是我尝试过的一些事情:
(global-set-key "\M right" 'next-buffer)
(global-set-key "\M <right>" 'next-buffer)
(global-set-key [\M right] 'next-buffer)
(global-set-key [M right] 'next-buffer)
(global-set-key [M-right] 'next-buffer)
(global-set-key (kbd M-<right>) 'next-buffer)
(global-set-key [M (kbd <right>)] 'next-buffer)
等
更多信息:
好的,这本身可以正常工作:(global-set-key [M-right] 'next-buffer)
(谢谢) - 它不适用于虚拟机中的iTerm2(小细节:)
对于该环境:M-x describe-key
无法打开帮助,但在*Messages*
打印:ESC <right> (translated from ESC M-[ C) is undefined
这就是为什么我感到困惑,并且无法将其粘贴到kbd中。 这就是为什么我不认为它被另一种模式所压倒。
答案 0 :(得分:4)
指定密钥绑定的最简单方法是始终使用 kbd
。
(global-set-key (kbd "<M-right>") 'next-buffer)
kbd
将外部键描述作为参数,即当您使用C-h k
时Emacs告诉您的内容。
使用C-h k
,按住Meta(例如Alt)键,然后按右箭头键。缓冲区*Help*
告诉您此密钥序列已写入"<M-right>"
。这就是你传递给kbd
的内容。
答案 1 :(得分:0)
解决:(global-set-key (kbd "ESC <right>") 'next-buffer)
谢谢 - 我需要kbd
的组合以及传递它的内容。