LoginSignup
5
1

More than 5 years have passed since last update.

Emacsで調子に乗ってキーバインドを変えまくっていたらひどい目にあった話

Last updated at Posted at 2017-03-30

先日「Emacs初心者だがオススメ設定を晒させてくれ」という記事をかいたが,その後も色々周りの人にオススメのショートカットなどを教えてもらっていた.
そんな中,調子に乗りまくって色々キーバインド変えて遊んでいたら本当に大変な目にあった話を書く.

Enterキーが効かない

本当に大変だった...
なんせEnterキーが効かなかったら決定も改行もなにもできず,Find ~/.emacs.d/init.elとミニバッファに表示してからもファイルが開けず(RETコマンドが打てないので)手の打ちようがない.
頑張ってterminalのopenコマンドでemacsを開いても,なぜかEnterキーを打つたびにミニバッファにはMinibuffer is inactiveの文字列.
改行は未だにできない

原因調査

仕事にならないからこんな夜中でも気合で対処するしかない.
とりあえず原因調査にかかった.StackOverflowやら色々なサイトを「emacs enter disabled」「emacs return minibuffer is inactive」などなど検索ワードを変えて検索したがいまいち.
八方塞がりだったが,ググるうちにemacsのキーバインド一覧を見ることの出来るコマンドM-x descrive-bindingsを発見する.その中に

<return> windmove-down

と表示されていた....
あれ,原因これじゃね?

対応

Enterキーがwindmove-downにバインドされているのはわかったので,早速自分のinit.elを確認.

(global-set-key (kbd "C-m")  'windmove-down)

あれ,普通じゃね?

しかし,色々探してるうちにちらっと見たサイトに,
Keys to Avoidの文字.
あれ?なんかそれっぽくね?と思ったのでちょっと読んでみると,

【Ctrl+m】 or Enter ↵ (These are tied together.)

な,なんだってーーーー!!!
つまり,Ctrl+mreturnは同じ扱いということらしい.

とりあえずコメントアウトしてeval

 ;; (global-set-key (kbd "C-m")  'windmove-down)

ちゃんと治りました!!

まとめ

  1. キーバインドを変更する前にはM-x descrive-bindingsする
  2. キーバインドはやたらめったら変更しない
  3. あせらない

参考サイト

ErgoEmacs

5
1
4

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