Emacs: Xah Math Input Mode, xah-math-input.el
xah-math-input.el
is a emacs minor mode for inputting math symbols, emoji, or any Unicode characters.

Get it by Donation
Goto paypal.com, send $32 to Xah@XahLee.org (be sure to include your correct email address. I need that to send it to you.)
Write in message area: xah-math-input.el
How to Use
- Alt + x
global-xah-math-input-mode
- Toggle on/off for all buffers.
- Alt + x
xah-math-input-mode
- Toggle on/off for current buffer.
In lisp code for your emacs init file:
(global-xah-math-input-mode 1) ; turn on globally (global-xah-math-input-mode 0) ; turn off globally
Type inf
, then press Shift + Space, then it becomes ∞.
- a → α
- b → β
- p → π
- l → λ
- g → γ
- G → Γ
- sum → ∑
- prod → ∏
- cp → ⊕
- rt → √
- and → ∧
- && → ∧
- ne → ≠
- != → ≠
- /= → ≠
- ge → ≥
- >= → ≥
- to → ⇒
- => → ⇒
- -> → →
- R2 → ℝ²
- s2 → ²
- sup2 → ²
- ^2 → ²
- _i → ᵢ
- e' → é
- e` → è
- e" → ë
- e^ → ê
- n~ → ñ
- deg → °
- heart → ♥
For the complete up-to-date list, Alt + x xah-math-input-list-math-symbols
The mode supports over 600 unique symbols, and you can add your own. Any unicode character, including emoji.
XML Abbreviations
All XML character entity abbrevs are supported. For example
copy
→ ©
[see HTML XML Entities]
Mathematica Abbrev
Most Mathematica's abbreviation is also supported. For example:
es
→ ∅
Unicode by Decimal Number
Unicode by decimal can be entered like this:
945
→ α
(Note: alpha has abbrev of “a”. All Greek Alphabet has single letter abbrev.)
[see Unicode: Greek Alphabet α β γ δ ε ζ η]
Unicode by Hexadecimal
Unicode by hexadecimal can be entered like this:
x3b1
→ αu+3b1
→ α
Unicode Character by Name
Unicode by full name is also supported. For example, type “greek small letter alpha”, select the words, then press activation key, it'll become α.
You can also call emacs's insert-char
for name completion feature. (before emacs 24, the command name is ucs-insert
)
For example, Alt + x insert-char
【Ctrl + x 8 Enter】, then type *arrow
then Tab, then emacs will list all Unicode Character names that has “arrow” in it. (this feature is part of Emacs 23)
Customization
Change Activation Key
To change the activation key, put this in your Emacs Init File:
(require 'xah-math-input) (define-key xah-math-input-keymap (kbd "S-SPC") nil) ; unset Shift+space (define-key xah-math-input-keymap (kbd "<f8>") 'xah-math-input-change-to-symbol)
Add Abbrev, Add Symbol
To add/change a abbrev, Put this in your Emacs Init File:
(require 'xah-math-input) (puthash "floral" "❦" xah-math-input-abrvs)
To find symbols, use Unicode Search 😄.
Get Unicode Font
For best result, you'll need a font that support Unicode. I recommend DejaVu Sans Mono. [see Best Unicode Fonts for Programer]
xah-math-input.el was named xmsi-mode.el