3

emacsのevil-modeに加えて、1回のキー押下で数学およびギリシャ語のUnicode文字を挿入できる拡張モードを作成しました。ただし、コードは次のようになります(数百行)。

(define-key evil-unicode-state-map "a" "α")
(define-key evil-unicode-state-map "b" "β")
(define-key evil-unicode-state-map "g" "γ")

すべての定型文を切り取るための好ましい方法があるかどうか疑問に思っていますか?理想的には、次のようなものを書くことができるでしょう。

(setq evil-unicode-state-map
  {"a" "α"
   "b" "β"
   "g" "γ"})
4

1 に答える 1

7

それを行う1つの方法は次のとおりです。

(setq my-evil-unicode-state-map
  '(("a" . "α")
    ("b" . "β")
    ("g" . "γ")))

(dolist (key-def my-evil-unicode-state-map)
  (let ((key (car key-def)) (def (cdr key-def)))
    (define-key evil-unicode-state-map key def)))

編集:(イヴァン・アンドルスのコメントを反映して)

my-evil-unicode-state-map他の場所で使用されていない場合は、

(dolist (key-def
         '(("a" . "α")
           ("b" . "β")
           ("g" . "γ"))))
  (define-key evil-unicode-state-map (car key-def) (cdr key-def)))
于 2012-08-08T00:57:11.340 に答える