无法在emacs中键入大括号和方括号

时间:2010-07-31 04:55:06

标签: macos emacs keyboard keyboard-layout

我正在运行Mac OS X和GNU Emacs 22.3.1。我使用瑞典语键盘。我无法在emacs中输入大括号{ }[ ]。当我试图键入括号时,我得到括号。由于我对Mac和emacs都很陌生,所以我需要一点帮助来配置emacs才能做到这一点。

9 个答案:

答案 0 :(得分:59)

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

这是我用于瑞典语键盘的内容。它甚至适用于svorak A5,如果你使用它:)

答案 1 :(得分:24)

您也可以尝试:

(setq mac-option-key-is-meta t)
(setq mac-right-option-modifier nil)

答案 2 :(得分:8)

我假设您正在使用图形化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或“M-x eval-buffer”。)

答案 3 :(得分: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,对于所有旧的M-x函数,您将必须使用命令键。

答案 4 :(得分: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 "]")))

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

一个缺点是,在迷你缓冲区中工作,并键入" Alt-9"将在缓冲区而不是迷你缓冲区中插入文本。

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

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

备注:如果您使用AquaMacs,wiki在非英语键盘或其他部分的#34;输入{} []等部分中有解决方法。带有选项修饰符的键"。

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

答案 5 :(得分:1)

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

答案 6 :(得分:1)

法语键盘也有同样的问题。它看起来像Aquamacs问题(Carbon Emacs不会取代{with())。

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

Aquamacs提供了一种解决方法。 菜单栏>选项>选项,命令,元键>选择...... Meta&法国

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

答案 7 :(得分:1)

使用Aquamacs:

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

大括号和括号与标准Mac键盘一样。

答案 8 :(得分:-1)

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