LoginSignup
3
2

More than 5 years have passed since last update.

キーバインド設定の書き方

Posted at

課題

Mac 上の Emacs で Ctrl+Cmd+↑toggle-frame-fullscreen を割り当てたかったが、 global-set-key の第一引数をどう指定すればいいのか分からなかった

解決方法

Ctrl+h k に続けて Ctrl+Cmd+↑ を入力すると、

<C-s-up> is undefined

とエコーエリアに表示され、このキーバインドが未割り当てであることと、その表現が <C-s-up> であることがわかる(ちなみに Ctrl+h k 自体が何をしているかを知るには Ctrl+h k Ctrl+h k とすればよく、 describe-key 関数を呼んでいるとわかる)。

ここで得られた "<C-s-up>" をそのまま指定しても駄目

(global-set-key "<C-s-up>" 'toggle-frame-fullscreen)
=> Debugger entered--Lisp error: (error "Key sequence < C - s - u p > starts with non-prefix key <")

で、それを kbd 関数に渡した戻り値を使って

(global-set-key (kbd "<C-s-up>") 'toggle-frame-fullscreen)

とするとうまくいった。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2