要約
Emacsのキーバインドを、次のように変更したらすごい便利になったよ!
- C-z : ウィンドウ切り替え(other-window)
- C-c c : コンパイル(compile)
- C-c x : quickrunでスクリプト実行(quickrun)
- M-RET : helm-mini
環境
- Emacs 24.5.1
- helmとquickrun.elはインストール済みという前提
やったこと
.emacsとか.emacs.d/init.elとかに次を追記してEmacsを再起動。
;;;;;;;;;;;;;;;;;;;;;;;; key-bind settings ;;;;;;;;;;;;;;;;;
;; Execute script
(define-key global-map (kbd "C-c x") 'quickrun)
;; Compile
(define-key global-map (kbd "C-c c") 'compile)
;; move window by C-z
(define-key global-map (kbd "C-z") 'other-window)
;; assign helm-mini to C-c h
(define-key global-map (kbd "M-RET") 'helm-mini)
ちなみにキーバインドの設定弄った場合、設定ファイルのバッファを再読み込みするだけじゃ上手く行かないこともあるので、筆者は大人しく再起動してます。
え、それのどこにハマる要素あんの?
実は最初、helm-miniをCtrl-m(デフォルトでは改行)に割り当てようとしたのだが、それをやると何故かEnterでhelm-miniが開くように(´・ω・`)
色々ググった結果、以下の記事
http://qiita.com/blue0513/items/c49b17790367790fdd7c
にて
Keys to Avoidの文字.
(中略)【Ctrl+m】 or Enter ↵ (These are tied together.)
な,なんだってーーーー!!!
という記述を見つけ、「な、なんだってー!!!」と叫んだわけです。
要するに、Ctrl+mとEnterは完全に連動してしまっているので、片方を変えたら必ずもう片方も影響受けちゃうよ、と。
どうやら、ターミナルではCtrl+mは改行なので(知らなかったorz)、Emacsでもそれに合わせてこういう設定になってるらしいです。
まとめ
Ctrl+mは使わないからって無闇にコマンド割り当てると困ったことになるよ!
気をつけよう!
参考記事