can*_*boy 14 macos emacs homebrew
我在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)
Run Code Online (Sandbox Code Playgroud)
我不认为CMD键被设置为超级正确的,因为我没有看到s-foo
在小缓冲区,我想如果我输入了C-x
或M-x
什么的.我注意到CMD-right,当我打开两个终端窗口时,在两个终端窗口之间切换,所以我认为这可能会阻止任何自定义设置.但是,我尝试过:
(global-set-key (kbd "s-9") 'move-end-of-line)
Run Code Online (Sandbox Code Playgroud)
..和CMD-9仍然没有任何作用,除了嘟嘟声告诉我,我已经说错了.
设置非CMD键组合似乎工作正常,如:
(global-set-key (kbd "C-w") 'move-end-of-line)
Run Code Online (Sandbox Code Playgroud)
nic*_*o_c 14
您可以使用以下内容进行设置:
(global-set-key (kbd "s-<right>") 'move-end-of-line)
Run Code Online (Sandbox Code Playgroud)
"s"是对命令键的引用.
PS:我现在不在我的Mac上,所以我不确定你需要写什么才能将它设置为你提到的特定键,将它移动到行尾,但命令由emacs中的s表示.
编辑 刚刚在我的Mac上测试了这个.这是您编写的确切代码(如果您想全局设置)绑定命令键+右箭头键以将光标移动到行尾.
如果上述方法不起作用,您也可以尝试
(global-set-key (kbd "\s <right>") 'move-end-of-line)
Run Code Online (Sandbox Code Playgroud)
上面和上面这个之间的区别在于上面等于CMD + right,这个等于CMD,然后释放CMD并点击右键.两者都适用于我的系统上的OS X.
另外,请查看以下帖子,将您的CMD设置为超级密钥,以防您的Emacs尚未注册:
http://ergoemacs.org/emacs/emacs_hyper_super_keys.html
具体来说,您可以使用以下代码将您的CMD密钥设置为超级:
(setq mac-command-modifier 'super)
Run Code Online (Sandbox Code Playgroud)
在Aquamacs中,对我有用的是以下内容
(global-set-key (kbd "A-r") 'my-command)
Run Code Online (Sandbox Code Playgroud)