43

我正在运行 Mac OS X 和 GNU Emacs 22.3.1。我使用瑞典语键盘。我无法在 emacs{ }中输入大括号。[ ]尝试键入大括号时,我得到括号。由于我对 Mac 和 emacs 还很陌生,因此我需要一些帮助来配置 emacs 以使其正确。

4

9 回答 9

63
(setq mac-option-modifier nil
      mac-command-modifier 'meta
      x-select-enable-clipboard t)

这是我用于瑞典语键盘的。如果您使用它,它甚至可以与 svorak A5 一起使用 :)

于 2010-07-31T13:58:17.183 回答
28

你也可以试试:

(setq mac-option-key-is-meta t)
(setq mac-right-option-modifier nil)
于 2012-10-29T14:48:54.283 回答
9

我假设您使用的是图形 emacs,而不仅仅是使用终端中的 OS X 捆绑版本。

要确保 Emacs 以与其他 OS X 应用程序相同的方式响应击键,请尝试以下操作:

(setq default-input-method "MacOSX")

特别是,如果您想使用 Option 键输入不在键盘上的扩展字符(例如“Option-c c”=>“ç”),请使用以下设置:

(setq mac-command-modifier 'meta)
(setq mac-option-modifier 'none)

(将这些命令放在您的 ~/.emacs 或 ~/.emacs.d/init.el emacs 启动文件中,然后在编辑文件时重新启动 Emacs,或者只是“Mx eval-buffer”。)

于 2010-08-01T13:22:02.810 回答
5
(setq default-input-method "MacOSX")

(setq mac-command-modifier 'meta
      mac-option-modifier nil
      mac-allow-anti-aliasing t
      mac-command-key-is-meta t)

试试这个。您将能够将 Alt 键用作 AltGR,并且对于所有旧的 Mx 功能,您必须使用命令键。

于 2011-04-23T18:49:14.533 回答
3

将相关的键盘快捷键绑定到插入这些字符的匿名函数,例如~/.emacs为欧洲葡萄牙语添加这些行:

(global-set-key "\M-(" (lambda () (interactive) (insert "{")))
(global-set-key "\M-)" (lambda () (interactive) (insert "}")))

(global-set-key "\M-8" (lambda () (interactive) (insert "[")))
(global-set-key "\M-9" (lambda () (interactive) (insert "]")))

然后保存~/.emacsC-x C-s重新加载M-x load-file并输入~/.emacs.

一个缺点是这在迷你缓冲区中不起作用,键入“Alt-9”会将文本插入缓冲区而不是迷你缓冲区。

与其他解决方案的比较:此解决方案保持与其他使用M-. @monotux、@sanityinc 和 Abdul Bijur VA 的解决方案确实有效,但它们不保持这种兼容性,例如Cmd-Q不再退出程序并且M-x不再调用迷你缓冲区来执行命令。

@patrikha 的解决方案不适合触摸打字,这需要在键盘的右侧和左侧使用相同的修饰符命令(Command、Alt/Option、Shift 和 Control)。例如,使用此解决方案M-x需要左手拇指在左键上,Alt左手食指在S键上,而不是右手拇指在右手Alt键上。你可以(setq mac-left-option-modifier nil),但这可能需要改变键盘右侧字母的习惯。

注意:如果您使用 AquaMacs,wiki在“在非英语键盘或其他带有 Option 修饰符的键上输入 {}[] 等”部分提供了解决方法。

我还将这一行添加到末尾./emacs以显示括号和大括号的匹配:(show-paren-mode).

于 2018-04-18T14:19:53.440 回答
1

我会尝试基于 Cocoa 的 emacs,即 23 版。对于集成 mac 的 emacs,我会尝试Aquamacs

于 2010-07-31T06:40:49.963 回答
1

我在使用法语键盘时遇到了同样的问题。它看起来像一个 Aquamacs 问题(Carbon Emacs 不会用 () 替换 {)。

上面对 emacs 的更改工作正常,我可以键入括号,但我不能再使用标准快捷方式(例如 Ctrl+C/Ctrl+V)。

Aquamacs 提供了一种解决方法。菜单栏 > 选项 > 选项、命令、元键 > 选择 ...元和法语

它对我来说很好。但是它可能不适用于瑞典语,没有瑞典语键盘选项。

于 2012-03-02T19:27:01.870 回答
1

使用 Aquamacs:

从主菜单中,转到选项 - 选项、命令、元键并选择“组合字符选项”。

大括号和支架与标准 Mac 键盘一样工作。

于 2013-06-02T07:27:35.860 回答
-1

你不需要记住那些编程之类的东西:这就是答案。转到键盘首选项,然后选中“在菜单栏中显示键盘和字符查看器”。之后,在电池表附近的菜单栏上查看图标并开始双击您想要的任何字符。

于 2013-05-10T20:52:37.150 回答