有没有办法使用alt/ option键作为元键,但仍然可以使用它来制作一些需要它的字符?
例如,在我的本地键盘布局中:
@
是alt+2
\
是alt+ shift+7
|
是alt+7
等等
所以,如果我设置alt为元键,我就不能再制作这些字符了.另一方面,使用"按esc,释放esc,按一个键"来制作元键序列会让我的双手受伤.
任何已解决此问题的国际键盘的Emacs用户,请提供您可能提供的任何提示!:)
编辑:
似乎我可以设置alt为元键,然后在inputrc中添加这些设置:"\e2": "@"
这在bash shell中有效,但它仍然不能用于Emacs,所以没有好处.
我在Mac OS X中使用瑞典语键盘,并使用以下设置进行Emacs.app:
首先我安装了KeyRemap4MacBook,然后我将其设置为将左Option键更改为Command.
然后我在.emacs中有以下内容:
(setq mac-option-modifier 'none) (setq mac-command-modifier 'meta)
这使得Emacs将命令视为Meta并忽略Option.由于左Alt/Option键被重新映射到命令,这使得它工作精简元元素,而右Alt/Option键仍然用于输入特殊字符,如@ []和{}.
特定于应用程序的Mac快捷方式(如Cmd + C和Cmd + V)不再有效,但全局快捷方式如Spotlight的Cmd +空间和应用程序切换的Cmd + Tab都可以.
更新: 如果您使用iTerm2作为终端,它支持仅将左Alt/Option键映射到元,这意味着您仍然可以使用正确的AltGr/Option键输入特殊字符.这也意味着您可以在iTerm2终端中运行的Emacs内部使用meta.
我的Mac上有一个瑞典语键盘,我正在使用Aquamacs.添加两行(归属于JoakimHårsman)
(setq mac-option-modifier 'none) (setq mac-command-modifier 'meta)
在.emacs
(并重新启动Aquamacs)为我做了伎俩.
使用iTerm2,您可以将左选项键映射到ESC/meta,并将右选项键的映射保留为"正常".这样您就可以使用正确的选项键来输入重音等.
考虑使用功能齐全的Emacs for Mac OS X.我使用Carbon Emacs,但我相信其他人(比如Aqua Emacs或X11 Emacs)会做到这一点.
如果您坚持在终端中使用Emacs,则可以使用C-x 8
前缀作为撰写密钥.尝试C-x 8 C-h
获取可能性列表.
请参阅http://www.emacswiki.org/emacs/EmacsForMacOS
我使用的两种解决方法:
我在X11.app下运行xterm.X11.app使用命令键作为元.
在Terminal.app中运行emacs时,我只使用rfc1345输入法,它允许我输入各种疯狂的非ascii字符而无需选项键.
看看cmd-key-happy.这个小应用程序为我创造了奇迹.它允许您将命令用作元,您可以配置例外.
作者的信息如下:
此程序允许您在任何应用程序中交换命令和alt(或选项)键,尤其是Terminal.app.
http://github.com/aim-stuff/cmd-key-happy
这是一个老帖子,但为机器人添加了替代品.我从Aquamacs(emulate -mac-keyboard-mode.el,aquamacs-tools.el)中借了一些文件解决了这个问题(我有一个意大利语专业键盘):
(defun aq-binding (any) nil) (load "~/.emacs.d/emulate-mac-keyboard-mode.el") ;; 'noerror
这提供:
几个小模式(模拟 - mac-italian-keyboard-mode,emulate-mac-french-keyboard-mode,mulate-mac-swiss-german-keyboard-mode等)
菜单可以播放Aquamacs提供的所有选项
使用Emacs-23.3-universal-10.6.6测试,似乎对我没用.
感谢Aquamacs,如果还没有完成那么推动这个上游呢.