我在Mac OS X终端中使用Emacs,与自制软件一起安装。
我的CTRL键是我的C键,ALT键是Meta。
如何为CMD组合键定义键绑定?
例如,我想设置CMD-(右箭头)到行尾。
修改
我在下面尝试了@ nickcarlo的建议
(setq mac-command-modifier 'super)
(global-set-key (kbd "s-<right>") 'move-end-of-line)
我不认为CMD密钥被设置为超级正常,因为我没有在迷你缓冲区中看到s-foo
,就像我输入C-x
或{{1}一样或任何东西。我注意到CMD-right,当我打开两个终端窗口时,在两个终端窗口之间切换,所以我认为这可能会阻止任何自定义设置。但是,我试过了:
M-x
..而且CMD-9仍然什么也没做,只是发出嘟嘟声告诉我,我已经说错了。
设置非CMD键组合似乎工作正常,如:
(global-set-key (kbd "s-9") 'move-end-of-line)
答案 0 :(得分:13)
您可以使用以下内容进行设置:
(global-set-key (kbd "s-<right>") 'move-end-of-line)
“s”是对命令键的引用。
PS:我现在不在我的Mac上,所以我不确定你需要写什么才能将它设置为你提到的特定键,将它移动到行尾但是命令由s表示在emacs。修改强> 刚刚在我的Mac上测试了这个。这是您编写的确切代码(如果您想全局设置)绑定命令键+右箭头键将光标移动到行尾。
如果上述方法不起作用,您也可以尝试
(global-set-key (kbd "\s <right>") 'move-end-of-line)
上述和上一个之间的区别在于,上述等同于CMD +右,这一个等同于CMD,然后释放CMD并点击右键。两者都在我的系统上运行OS X.
另外,请查看以下帖子,将您的CMD设置为超级密钥,以防您的Emacs尚未注册:
http://ergoemacs.org/emacs/emacs_hyper_super_keys.html
具体来说,您可以使用以下代码将您的CMD密钥设置为超级:
(setq mac-command-modifier 'super)
答案 1 :(得分:6)
在Aquamacs中,对我有用的是以下
(global-set-key (kbd "A-r") 'my-command)
答案 2 :(得分:1)
步骤1:c-x c-f .emacs //打开.emacs文件
步骤2:在.emacs文件末尾添加以下行
;; changing the command to control
(setq mac-command-modifier 'control)
第3步:保存.emacs文件
步骤4:M-x eval-buffer // M-x = Alt-x //这会计算.emacs缓冲区并重新加载Emacs
步骤5:尝试CMD-e转到行尾。 //现在CMD就像控件一样
步骤6:仍然CMD-e无法重启Emacs。
享受使用Emacs!