- ベストアンサー
Emacsでのキーバインドの変更
最近Emacsを覚え始めたのですが、どうしてもC-xが押しづらいので他のキーに変更したいと思っています。(例えばC-:など) 当然かもしれませんがC-h k C-xと打ってもbackward-charのような説明が出てこないので(global-set-key "\C-:"...)のようなことができなくて困っています。 どうすればいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
C-x のバインディングは M-x describe-bindings でわかりますね. でそれを C-. に割り当てるなら (global-set-key [(control ?.)] 'Control-X-prefix)
その他の回答 (1)
- notnot
- ベストアンサー率47% (4900/10358)
C-x に何がglobal-set-keyされているのか知りたいと言うことですよね? Control-X-prefix です。(大文字小文字に注意) ただ、(global-set-key "\C-:" 'foo) は Invalid modifier というエラーになりますね。環境によっては出来るのでしょうか? (global-set-key "\C-@" 'Control-X-prefix) は出来ました。 ただ、C-x が押しづらいと言うことは、A の左をControlにアサインしてないのでしょうか?それだとC-xに限らず、Controlを多用するemacsはつらいと思います。
補足
一応Aの左をCtrlに割り当てているのですが、小指でCtrlを押して薬指でxを押すというのは相当やりづらいのです。 とはいえホームポジションからずらして中指でxを押すというのもやりたくはありません。 (Unix文化で矢印での操作がバカにされる理由はまさにそれなのでしょうから) 同じ理由で「C-b」,「C-f」なども許容し難いので、基本的な操作は「Aの横+右手」にしようと考えたのです。 (右Ctrlキーはキーボードによって位置やサイズがまちまちなので使いこなせそうにないです。) おっしゃる通りに試して見たところ確かにC-@では動作しましたが、C-:ではエラーが出てしまいました。 前述の理由で使用可能な右手のキーが少ないのは困ってしまうのですが、何か動作させる方法はないものでしょうか?
お礼
教えていただいた通り (global-set-key [(control ?:)] 'Control-X-prefix)とすることで無事使えるようになりました。 また、[(control ?\;)]とすることでC-;も効くようになりました。 調べ方まで教えていただいて本当にありがとうございます。 この機会にLispも勉強してみます(^_^)