1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Emacsのキーバインドを自分流に変更しようとしたら少しだけハマった話。

Posted at

要約

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を再起動。

.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は使わないからって無闇にコマンド割り当てると困ったことになるよ!
気をつけよう!

参考記事

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?