;-*- coding: utf-8 -*- ; emacs customization for unicode input or ; other character insertion ; (using dvorak layout) ; Xah Lee ; 2007-10 ; ∑ http://xahlee.org/ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; INSERT UNICODE AND MATH CHARS (global-set-key (kbd "H-m M-i") 'open-unicode-template) (global-set-key (kbd "H-m ") "↑") (global-set-key (kbd "H-m ") "↓") (global-set-key (kbd "H-m ") "←") (global-set-key (kbd "H-m ") "→") (global-set-key (kbd "H-m ") "↙") (global-set-key (kbd "H-m ") "↘") (global-set-key (kbd "H-m ") "↖") (global-set-key (kbd "H-m ") "↗") (global-set-key (kbd "H-m ") "⇓") (global-set-key (kbd "H-m ") "⇐") (global-set-key (kbd "H-m ") "⇒") (global-set-key (kbd "H-m ") "⇑") (global-set-key (kbd "H-m ") "⊕") (global-set-key (kbd "H-m ") "⊖") (global-set-key (kbd "H-m ") "×") (global-set-key (kbd "H-m *") "⊗") (global-set-key (kbd "H-m <") "≤") ; greater htan (global-set-key (kbd "H-m >") "≥") ; less than (global-set-key (kbd "H-m Z") "ℤ") ; integer (global-set-key (kbd "H-m Q") "ℚ") ; rational (global-set-key (kbd "H-m R") "ℝ") ; real (global-set-key (kbd "H-m C") "ℂ") ; complex (global-set-key (kbd "H-m a") "α") ; alpha (global-set-key (kbd "H-m b") "β") ; beta (global-set-key (kbd "H-m g") "γ") ; gamma (global-set-key (kbd "H-m t") "θ") ; theta (global-set-key (kbd "H-m l") "λ") ; lambda (global-set-key (kbd "H-m p") "π") ; pi (global-set-key (kbd "H-m A") "∀") (global-set-key (kbd "H-m E") "∃") (global-set-key (kbd "H-m ^") "∧") ; and (global-set-key (kbd "H-m 6") "∨") ; or (global-set-key (kbd "H-m !") "¬") ; not (global-set-key (kbd "H-m =") "≡") ; equivalent (global-set-key (kbd "H-m +") "≠") ; not equal (global-set-key (kbd "H-m .") "∎") ; end of proof ;;;; Hyper key (setq mac-option-modifier 'hyper) (global-set-key (kbd "H-1") 'insert-xah-sig) ;;;; bullets and other symbols ; s § † ‡ — • ★ ; 1 2 3 4 5 6 7 8 9 0 [ ] (global-set-key (kbd "H-2") "§") ; section mark (global-set-key (kbd "H-3") "†") ; dagger (global-set-key (kbd "H-4") "‡") ; double dagger (global-set-key (kbd "H-7") "—") ; em-dash (global-set-key (kbd "H-8") "•") ; bullet (global-set-key (kbd "H-9") "★") ; star ; ‣ ° ; ! @ # $ % ^ & * ( ) { } (global-set-key (kbd "H-&") "‣") ; triangle bullet (global-set-key (kbd "H-*") "°") ; degree ;;;; matching pairs ; + = " ; « { ( [ “ (global-set-key (kbd "H-d") (lambda () (interactive) (insert "«»") (backward-char 1))) (global-set-key (kbd "H-h") (lambda () (interactive) (insert "{}") (backward-char 1))) (global-set-key (kbd "H-t") (lambda () (interactive) (insert "()") (backward-char 1))) (global-set-key (kbd "H-n") (lambda () (interactive) (insert "[]") (backward-char 1))) (global-set-key (kbd "H-s") (lambda () (interactive) (insert "“”") (backward-char 1))) ; ‹› 『』「」 ‘’ ; D H T N S (global-set-key (kbd "H-D") (lambda () (interactive) (insert "‹›") (backward-char 1))) (global-set-key (kbd "H-T") (lambda () (interactive) (insert "『』") (backward-char 1))) (global-set-key (kbd "H-N") (lambda () (interactive) (insert "「」") (backward-char 1))) (global-set-key (kbd "H-S") (lambda () (interactive) (insert "‘’") (backward-char 1))) (global-set-key (kbd "H-g") (lambda () (interactive) (insert "+"))) (global-set-key (kbd "H-c") (lambda () (interactive) (insert "="))) (global-set-key (kbd "H-r") (lambda () (interactive) (insert "\"\"") (backward-char 1))) (global-set-key (kbd "H-)") 'compact-parens)