30

这个页面表明希腊字母可以通过使用M-i. M-i但是,Debian Squeeze 变体中的 Emacs 23.2.1 在按下时会插入“制表符”字符。如何在 Emacs 中插入希腊字母,例如 α 和 β?

4

11 回答 11

65

M-x set-input-method RET TeX将允许您编写例如\betato getβ或to get\sum等。\SigmaΣ

toggle-input-method它可以用、绑定到C-\和 来打开和关闭C-<

于 2012-04-17T18:39:35.677 回答
25

您可以使用ucs-insertbound to C-x8RET按名称或按值插入任何 Unicode 字符。

例如插入一个 lambda 你可以做

  • C-x8RET GREEK SMALL LETTER LAMBDA RET→ λ
  • C-x8RET 03bb RET→ λ

也可以使用制表符完成。

C-x8RET* lambdaTAB 将列出以 lambda 结尾的每个 unicode 字符。

于 2012-04-17T16:26:45.410 回答
15

您可以将输入法设置为希腊语:

M-x set-input-method RET greek

或者

C-x RET C-\ greek

(这是相同的)。要设置输入法,请按C-\( toggle-input-method)。

于 2012-04-17T15:12:53.393 回答
9

扩展@Oleg Pavliv 的答案:

要在您的文件中一劳永逸地解决这个问题.emacs,您需要选择一个键模式(如M-g + <latin letter>)和一个可记忆的对应表<greek letter> - <latin letter>。我建议不要发明任何新东西,而是使用 PostScript Symbol 编码中的对应关系。这使我得出以下结论:

(global-set-key (kbd "M-g a") "α")
(global-set-key (kbd "M-g b") "β")
(global-set-key (kbd "M-g g") "γ")
(global-set-key (kbd "M-g d") "δ")
(global-set-key (kbd "M-g e") "ε")
(global-set-key (kbd "M-g z") "ζ")
(global-set-key (kbd "M-g h") "η")
(global-set-key (kbd "M-g q") "θ")
(global-set-key (kbd "M-g i") "ι")
(global-set-key (kbd "M-g k") "κ")
(global-set-key (kbd "M-g l") "λ")
(global-set-key (kbd "M-g m") "μ")
(global-set-key (kbd "M-g n") "ν")
(global-set-key (kbd "M-g x") "ξ")
(global-set-key (kbd "M-g o") "ο")
(global-set-key (kbd "M-g p") "π")
(global-set-key (kbd "M-g r") "ρ")
(global-set-key (kbd "M-g s") "σ")
(global-set-key (kbd "M-g t") "τ")
(global-set-key (kbd "M-g u") "υ")
(global-set-key (kbd "M-g f") "ϕ")
(global-set-key (kbd "M-g j") "φ")
(global-set-key (kbd "M-g c") "χ")
(global-set-key (kbd "M-g y") "ψ")
(global-set-key (kbd "M-g w") "ω")
(global-set-key (kbd "M-g A") "Α")
(global-set-key (kbd "M-g B") "Β")
(global-set-key (kbd "M-g G") "Γ")
(global-set-key (kbd "M-g D") "Δ")
(global-set-key (kbd "M-g E") "Ε")
(global-set-key (kbd "M-g Z") "Ζ")
(global-set-key (kbd "M-g H") "Η")
(global-set-key (kbd "M-g Q") "Θ")
(global-set-key (kbd "M-g I") "Ι")
(global-set-key (kbd "M-g K") "Κ")
(global-set-key (kbd "M-g L") "Λ")
(global-set-key (kbd "M-g M") "Μ")
(global-set-key (kbd "M-g N") "Ν")
(global-set-key (kbd "M-g X") "Ξ")
(global-set-key (kbd "M-g O") "Ο")
(global-set-key (kbd "M-g P") "Π")
(global-set-key (kbd "M-g R") "Ρ")
(global-set-key (kbd "M-g S") "Σ")
(global-set-key (kbd "M-g T") "Τ")
(global-set-key (kbd "M-g U") "Υ")
(global-set-key (kbd "M-g F") "Φ")
(global-set-key (kbd "M-g J") "Φ")
(global-set-key (kbd "M-g C") "Χ")
(global-set-key (kbd "M-g Y") "Ψ")
(global-set-key (kbd "M-g W") "Ω")
于 2015-04-17T08:57:38.953 回答
4

您可以使用另一个前缀,例如:

(global-set-key (kbd "C-x <ESC> a") "α")
(global-set-key (kbd "C-x <ESC> b") "β")

global-abbrev-table按照您提到的页面上的说明使用。

于 2012-04-17T14:05:53.673 回答
4

在 Emacs 中偶尔插入希腊字符的最简单方法是使用abbrev-mode这个希腊字母缩写表

要使用上述要点,请启动 emacs 并调用M-x edit-abbrevs它将启动 Abbrevs 编辑器。然后在该部分下剪切并粘贴其中的定义(global-abbrev-table)(以使它们全局可用)或将它们放在另一个标题下,例如(text-mode-abbrev-table).

确保使用Mx abbrev-mode RET在给定缓冲区中启用 abbrev-mode,或者通过添加到您的 init 文件中全局启用 abbrev-mode。(setq-default abbrev-mode t)或者,如果您只想为文本和派生模式启用缩写模式,请使用(add-hook 'text-mode-hook (lambda () (abbrev-mode 1))).

有关更多信息,请参阅有关 abbrev-mode 的 emacs wiki

于 2013-06-18T22:44:42.303 回答
3

C-x 8 RET,如上面@Daimrod 所述,适合一次性插入。

如果要绑定键以插入给定的 Unicode 字符: Load library ucs-cmds.el,然后使用C-1 C-x 8 RET. 这将插入您选择的字符,并创建一个具有相同名称的命令,您可以将其绑定到一个键。

例如,C-1 C-x 8 RET GREEK SMALL LETTER LAMBDA RET定义 command greek-small-letter-lambda,它在调用时插入该字符。

您可以使用宏一次创建多个这样的命令ucsc-make-commands,也可以从ucs-cmds.el. 例如,要为每个希腊字母创建单独的命令,只需执行以下操作:

  (ucsc-make-commands "^greek [a-z]+ letter")

然后你可以绑定,比如说,命令greek-small-letter-betaC-c b任何东西:

  (global-set-key (kbd "C-c b") 'greek-small-letter-beta)
于 2013-08-16T05:45:07.067 回答
2

Rasmus 的表弟对非 TeX/LaTeX 需求的回答:

M-x set-input-method RET C-\ greek RET
or
                 C-x RET C-\ greek RET

或者

M-x set-input-method RET C-\ greek-babel RET
or
                 C-x RET C-\ greek-babel RET

这些中的任何一个都为您提供输入方法,例如键入单个击键,“a”只是为您提供一个 alpha (α),“b”为您提供一个 beta (β) 等等。

之后,您只需输入

C-\

快速从默认输入法切换到希腊语输入法。很方便。

但你必须注意:键并不总是与声音相匹配。例如,输入 hello 会得到 ηελλο。这是因为他们把“h”键变成了希腊语 eta (η),仅仅是因为 η 看起来像一个 h,而且大写的希腊语 eta (H) 与我们的“H”相同,尽管它发音不同。

greek-babel 输入法相对于希腊语的优势将主要被那些使用更高级/复杂的 Attic Greek 的人所欣赏,它使用了很多口音。(Attic 在柏拉图时代约公元前 400 年在雅典使用,尽管重音和小写字母是在几个世纪后添加的。)您可以按两个键 < o 并得到 ὁ。后撇号是“h”音,称为“粗呼吸”——因此ὁ发音为“ho”。口音非常简单和快速。您可以在同一个字符上组合重音。例如,按三个键 > ' a 你会得到ἄ。如果您不需要重音符号,只需使用希腊语输入法。

使用 greek 和 greek-babel 输入法,您还可以点击 Ch C-\ 以获取有关输入法的帮助缓冲区,其中包括一个可爱的表格,其中包含所有可能的击键组合供您使用。(Cx o 移动到下一个窗口,因此您可以进入该信息窗口并向下滚动..)

另请参阅https://www.emacswiki.org/emacs/InputMethods

于 2018-04-11T02:43:37.503 回答
1

TeX 输入法通常非常适合输入符号,但是如果您以任何频率输入它们(例如,如果您正在使用某种函数式编程语言输入),每次您想要插入时λ,它很快就会变成拖累输入\lambda一个希腊字母。

另一方面,希腊语输入法可以有效地处理希腊字母,并且是一个干净的解决方案,因为它利用了 Emacs 的内置希腊语支持,但它作为默认输入法并不是很有用。

您可以像这样结合两种方法的好处(放在您的 Emacs 初始化配置中的某个位置):

(progn
  ;; conveniently enter math and greek symbols

  ;; leverage built-in input methods support in emacs to enter greek letters
  ;; by using the prefix ",."
  ;; adapted from https://emacs.stackexchange.com/a/53810
  (set-input-method "greek")
  (setq greek-map (quail-map))

  ;; add a translation rule to the TeX input method to delegate to
  ;; the greek input method
  (set-input-method "TeX")
  (quail-defrule ",." greek-map)

  ;; set default input method to TeX so that it can be activated
  ;; with C-\, e.g. to enter math or other symbols in general
  (setq default-input-method "TeX"))

这使用 TeX 输入法作为默认值,但在使用前缀时添加了一条规则以临时委托给希腊语输入法,.

例子:

,.a => α
,.l => λ
,.v => ω
\to => →
\circ = ∘
^2 => ²
_i => ᵢ

资料来源:

https://emacs.stackexchange.com/a/53810

https://stackoverflow.com/a/10197062/323874

https://stackoverflow.com/a/49765665/323874

https://emacs.stackexchange.com/a/419

于 2020-10-08T20:08:14.730 回答
0

了解如何输入您已经在屏幕上某处看到的单个字符,您可以将该字符复制粘贴到某个 emacs 缓冲区/文件中,然后调用M-x describe-char. 有了 α,它产生

[...] to input: type "C-x 8 RET 3b1" or "C-x 8 RET GREEK SMALL LETTER ALPHA" [...]

PS:重新你的个人资料,也试试['a'] * 28

于 2019-02-28T11:33:51.073 回答
0

在 Spacemacs

M-m i u

这使您可以按名称搜索所需的符号。

于 2021-04-30T15:46:14.380 回答