如何在 Mac OS X 上的 Emacs 中编写波形符 (~) 字符?

问题描述 投票:0回答:6

我习惯在 Mac OS X 上按 Alt+N 来写入 ~ 字符。这在 Emacs 中不起作用。 Alt+N 键似乎绑定到命令历史记录。所以我的问题是如何在 Mac OS X 上的 Emacs 中编写 ~ 字符?

编辑:我正在使用 Aquamacs。

macos emacs key-bindings aquamacs
6个回答
14
投票

虽然这个问题相当老了,但对于 Emacs for OS X(当今最流行的选择)来说,似乎没有一个答案令人满意。所以,对于未来的读者...

默认情况下,

Plain Emacs for OS X 使用两个 Alt 键作为 Meta。由于许多字符是在德语 Mac 键盘上使用 Alt 键入的(波形符、括号、大括号等),因此我建议将

ns-right-alternate-modifier
设置为
nil
,这样可以输入波形符 (Alt-n) 和其他字符使用 right Alt 键,而 left 可以用作 Meta(如
M-x
)。

或者 Cmd 可以自定义为 Meta。所有选项都可以在

M-x customize-group ns
下交互式定制。


2
投票

您可以随时打开“字符查看器”,选择“标点符号”,找到“~”(波形符),然后双击它。这会将其插入到 Emacs 点。 (在系统偏好设置窗口的键盘窗格中选中“在菜单栏中显示键盘和字符查看器”后,可以轻松访问“字符查看器”。)

您还可以将 emacs-lisp 函数定义为:

(defun tilde () (interactive) (insert "~"))

然后使用

M-x tilde
调用它以插入波浪号。然后可以将该功能分配给您选择的组合键,如

(global-set-key "\M-\C-!" 'tilde)   ;; you choose the combo

并将所有这些添加到您的“emacs init”文件中。


1
投票

不幸的是,在终端(emacs -nw)中运行 emacs 时,fpbhb 的答案不起作用。

我能够想出一个在两种情况下(独立和终端内)都有效的解决方案。另外,我有一个国际键盘,我还能够解决在终端中运行 emacs 时无法输入特殊字符的问题。

当将 emacs 作为应用程序运行时(即不在终端中),此代码片段正确地将左侧选项键绑定到“META”。它没有绑定右选项键,可以用来输入特殊字符:

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

在终端中运行 emacs 时,以上所有内容均无效。要在终端中获得相同的键绑定,您必须:

终端首选项 -> 键盘 -> 使用 Option 作为 Meta 键

不幸的是,执行此操作后,您将无法使用选项键在国际键盘中输入特殊字符。特别是我漏掉了波浪号、反斜杠和@。

我通过将缺少的键映射添加到我的 .emacs 中解决了最后一个问题:

(define-key key-translation-map (kbd "M-ñ") (kbd "~"))
(define-key key-translation-map (kbd "M-º") (kbd "\\"))
(define-key key-translation-map (kbd "M-2") (kbd "@"))

瞧。


0
投票

quoted-insert
应该处理这个问题。

C-qAlt-N


0
投票

Aquamacs:选项 -> 选项命令元键 -> 元和法语?


0
投票

C-x 8 '
后面跟着你选择的元音对我来说就是这样。如果您希望波形符朝另一个方向移动,您可以将 ' 替换为 `。

不知道这个解决方案是否通用。我正在使用Linux。

© www.soinside.com 2019 - 2024. All rights reserved.