如何在Emacs中输入希腊字符

时间:2012-04-17 13:36:48

标签: emacs

This页面表示可以使用M-i将希腊字母插入到Emacs中。但是,Debian Squeeze变体中的Emacs 23.2.1会在按下M-i时插入“tab”字符。如何在Emacs中插入希腊字母如α和β?

11 个答案:

答案 0 :(得分:54)

M-x set-input-method RET TeX将允许您编写例如\beta获取β\sum\Sigma获取Σ等。{/ p>

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

答案 1 :(得分:21)

您可以使用绑定的ucs-insert C-x 8 RET 插入任何Unicode 按名称或按值分类的字符。

例如,插入一个lambda,你可以做

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

也可以使用制表符。

C-X 8 RET * lambda TAB 将列出以lambda结尾的每个unicode字符。

答案 2 :(得分:11)

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

M-x set-input-method RET greek

C-x RET C-\ greek

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

答案 3 :(得分:7)

@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") "Ω")

答案 4 :(得分:4)

您可以使用其他前缀,例如:

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

或者使用global-abbrev-table,如您在上面提到的页面上所述。

答案 5 :(得分:4)

偶尔在Emacs中插入希腊字符的最简单方法是将缩写模式this abbrev table of Greek letters一起使用。

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

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

有关详情,请参阅the emacs wiki about abbrev-mode

答案 6 :(得分:2)

如上面的@Daimrod所述,

C-x 8 RET适用于一次性插入。

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

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

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

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

然后你可以将greek-small-letter-beta命令绑定到C-c b或其他任何东西:

  (global-set-key (kbd "C-c b") 'greek-small-letter-beta)

答案 7 :(得分:1)

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

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

OR

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”相同,即使它发音不同。

希腊语 - 巴贝尔输入方法优于希腊语的优势将主要受那些使用更高级/复杂的Attic Greek的人们的赞赏,后者使用了大量的口音。 (Attic在柏拉图的时间〜公元前400年在雅典使用,虽然几个世纪后加入了重音和小写字母。)你可以点击两个键&lt;哦,你得到ὁ。向后撇号是'h'声,称为'粗糙呼吸' - 因此ὁ发音为'ho'。口音非常容易和快速。并且您可以将重音组合在同一个角色上。例如,点击三个键&gt; 'a,你得到ἄ。如果您不需要重音符号,只需使用希腊语输入法。

使用greek和Greek-babel输入法,你也可以点击C-h C- \来获得输入法的帮助缓冲区,其中包括一个可用的所有可用击键组合的可爱表格。 (C-x o移动到下一个窗口,这样你就可以到达那个信息窗口并向下滚动..)

另见https://www.emacswiki.org/emacs/InputMethods

答案 8 :(得分:0)

查找如何输入已经在屏幕上看到的单个字符,您可以将该字符复制粘贴到一些emacs缓冲区/文件中,然后然后致电M-x describe-char。有了α,它会产生

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

PS:重新使用your profile,也请尝试['a'] * 28

答案 9 :(得分:0)

通常,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

答案 10 :(得分:0)

在 Spacemacs 中

M-m i u

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

相关问题