キーバインドの指定方法

そういや、define-key なんかで使えるキーの指定方法っていろいろあるなぁ。

そのまま文字列で

C-a は \C-a などと指定する。

(global-set-key "\C-x\C-m" 'anything)

実は Emacs 上では enter key は C-m と同義だったり。あと、TAB は C-i。

kbd

kbd 関数を使う。

(global-set-key (kbd "C-x RET") 'anything)

可読性高め。多分、describe-key (C-h c) したときに表示されるのと同じ物が使える。

vector

vector も使える。

(global-set-key [(ctrl x) return] 'anything)

まぁ、そこそこ。なお、例えば C-x a に割り当てたい場合などは

(global-set-key [(ctrl x) ?\a] 'anything)

などとする。
ところで、C-x RET をつぶすといろいろ不便じゃないのかな。文字コードを指定して読み直しってことで、 C-x RET c utf-8 RET C-x C-v RET とかやんないの?あと、エンコーディング変更に C-x RET f とか。