coa*_*nil 2 emacs elisp key-bindings
我在Mac上,想将功能键F19用作meta。
(有一个很好的理由,虽然这是一个黑客位的:我的建(由否则优良的港口山本光晴)不支持使用只有左alt键为元,同时保持正确的本地行为(插入特殊字符)alt键..因此,我将左键重新映射为alt未使用的键-- F19在系统级别上使用PCKeyboardHack(非常想念xmodmap),并想告诉Emacs将其用作元。)
那么,如何F19在Emacs中使用功能键(在我的情况下)作为元键?
(我是Emacs的新手,经过一番谷歌搜索,尝试了类似
(define-key global-map [f19] \M)
Run Code Online (Sandbox Code Playgroud)
但这当然不能解决问题(Symbol’s value as variable is void: M)
很好
(setq x-alt-keysym symbol)
Run Code Online (Sandbox Code Playgroud)
您可以告诉emacs什么键可以理解为meta,但是afaik它仅接受“ meta”,“ alt”,“ super”和“ hyper”作为符号。也许用f19尝试一下。
一个可行但需要适应新工作方式的替代选项是使用F19作为前缀键(例如,使用Ch或F1调用帮助命令):
(define-prefix-command 'f19-map)
(global-set-key (kbd "<f19>") 'f19-map)
(global-set-key (kbd "<f19> x") 'execute-extended-command)
(global-set-key (kbd "<f19> u") 'upcase-word)
...
Run Code Online (Sandbox Code Playgroud)
编写配置不应该太难。只需按Ch b即可获取所有现有的键绑定并编辑帮助缓冲区。删除所有不以M-开头的行,然后使用矩形将所有出现的^ M-替换为(global-set-key(kbd“,依此类推。
另一个选择是将密钥绑定到Esc而不是F19,只要系统支持即可,并使用esc前缀而不是f19前缀。这样,您根本不必更改emacs配置。