我习惯在Mac OS X上按Alt+N键来输入~字符。但是在Emacs中无法使用这种方法,因为Alt+N键似乎被绑定到了命令历史记录上。所以我的问题是如何在Mac OS X上的Emacs中输入~字符?
编辑:我正在使用Aquamacs。
我习惯在Mac OS X上按Alt+N键来输入~字符。但是在Emacs中无法使用这种方法,因为Alt+N键似乎被绑定到了命令历史记录上。所以我的问题是如何在Mac OS X上的Emacs中输入~字符?
编辑:我正在使用Aquamacs。
虽然这个问题很老,但是对于如今最受欢迎的选择——Emacs for OS X,没有一个满意的答案。因此,为了未来的读者......
纯净的 Emacs for OS X 默认使用两个 Alt 键作为 Meta。由于许多字符在德语 Mac 键盘上都是用 Alt 键输入的(如波浪号、括号、花括号等),我建议将 ns-right-alternate-modifier
设置为 nil
,这样就可以使用右侧的 Alt 键输入波浪号 (Alt-n) 和其他字符,而左侧的则可以用作 Meta(如 M-x
命令)。
或者可以将 Cmd 自定义为 Meta。所有选项都可以在 M-x customize-group ns
下进行交互式自定义。
您可以打开“字符查看器”,选择“标点符号”,找到“~”(代字号),然后双击它。这将在Emacs点处插入它。“字符查看器”在键盘面板中勾选“菜单栏中显示键盘和字符查看器”后,即可轻松访问。(系统偏好设置窗口)
您还可以定义一个emacs-lisp函数:
(defun tilde () (interactive) (insert "~"))
然后使用 M-x tilde
命令插入波浪符号。您还可以将该函数分配给您选择的按键组合,以便更方便地使用。
(global-set-key "\M-\C-!" 'tilde) ;; you choose the combo
不幸的是,fpbhb的答案在终端(emacs -nw)中运行时无效。
我能够想出一个解决这个问题的解决方案,可以在独立和终端两种情况下使用。此外,我有一个国际键盘,在终端中运行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键
不幸的是,这样做后,您将无法在国际键盘上使用Option键输入特殊字符。特别是我缺少了波浪号、反斜杠和@。
我通过将缺失的键映射添加到我的.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 "@"))
就是这样。
Aquamacs:选项 -> 选项命令元键 -> 元和法语?
quoted-insert
应该处理这个。
C-qAlt-N
C-x 8 '
加上你选择的元音对我来说就可以了。如果你想让波浪号朝另一个方向,你可以用`替换掉'。
我不知道这个解决方案是否通用。我正在使用Linux。
\
上方。 - Ry-~
)。相反,它是一个组合字符,例如创建 ñ(Opt+n n)或小波浪符号˜
(Opt+n <space>)。 - Quantum7