Emacsでmacの特殊キー記号を入力する

emacsの設定ファイルを見直していて、そういえばこんなことしてたなーというのがあったのでメモ


まず、ctrl-qに独自のキーマップを割り当てます。

(defvar ctl-q-map (make-keymap))             
(define-key global-map (kbd "C-q") ctl-q-map)
(define-key ctl-q-map (kbd "C-q") 'quoted-insert)

こちらのエントリを参考にさせていただきました。
http://masutaka.net/chalow/2009-07-02-2.html


もともとのctrl-qはctrl-qの2ストロークに逃がしてます。
query-replaceとかでミニバッファに改行を入力したいときなんかは「C-q C-q C-j」と入力します。

macの特殊キー記号を入力するためにこんな感じでキー割り当てします。

(define-key ctl-q-map (kbd "m") (lambda () (interactive) (insert "\x2318"))) 
(define-key ctl-q-map (kbd "s") (lambda () (interactive) (insert "\x21e7"))) 
(define-key ctl-q-map (kbd "b") (lambda () (interactive) (insert "\x232b"))) 
(define-key ctl-q-map (kbd "o") (lambda () (interactive) (insert "\x2325"))) 
(define-key ctl-q-map (kbd "c") (lambda () (interactive) (insert "\x2303"))) 
(define-key ctl-q-map (kbd "e") (lambda () (interactive) (insert "\x238b"))) 
(define-key ctl-q-map (kbd "SPC") (lambda () (interactive) (insert "\x2423"))) 

上から⌘ ⇧ ⌫ ⌥ ⌃ ⎋ ␣の入力になります。

独自のキーマップを用意すれば、好き勝手にファンクションを割り当てられるがいいですね。

それにしても最近はemacsよりもpycharmばかり使ってるのでいろいろ忘れてる。