Emacs で独自のキーマップを特定のモードでオンにする。
昨日、分かんないとか言ったけど、そういや家に小関さんの 入門Meadow/Emacs 持ってるのを思い出したので読んだらあっさり解決しました。
;; キーバインドを定義するマイナーモード (setq my-keyjack-mode-map (make-sparse-keymap)) (mapcar (lambda (x) (define-key my-keyjack-mode-map (car x) (cdr x)) (global-set-key (car x) (cdr x))) '(("\t". dabbrev-expand-multiple) ("\C-c\t" . indent-relative) )) (easy-mmode-define-minor-mode my-keyjack-mode "Grab keys" ; ドキュメント nil ; 初期値 t にすると、全てでオンになる " Keyjack" ; on の時のモード行への表示 my-keyjack-mode-map ; マイナモード用キーマップの初期値 )
という感じで、初期値を nil にしておくと、勝手にオンにはなりません。後は、読み込みたいモードで、
(add-hook 'cperl-mode-hook (lambda () (my-keyjack-mode 1) ; キーバインドを定義したマイナーモードをオンにする ))