10年間 Emacs を使い続けてきた俺が最後にたどり着いたキーバインド

変態キーバインドが嫌いな方へ

俺がおすすめできるのは↓ぐらいです。


(global-set-key [C-delete]
'(lambda() (interactive)(kill-buffer (buffer-name))))

本題

完全に参考記事(下部に掲載)にインスパイアされています。

要するに

  • ↑←↓→をwindmove の up,down,left,right (split した windowを渡り歩く)
  • Shift+ → or ← はwindowを左右に分割
  • Shift+ ↑はwindowを上下に分割
  • Shift+ ↓は分割を解除
  • Ctrl + ← or → で Elscreen の←→移動

これを設定します。

あとC-[DEL] に(lambda() (interactive)(kill-buffer (buffer-name)))
を割り当てるのは我ながら結構気に入ってます。
要は削除するバッファ名を指定するまでもなく、カレントバッファを消すってことです。

↓ここからコピペしてください。


(global-set-key [S-right] 'split-window-horizontally)
(global-set-key [S-left] 'split-window-horizontally)
(define-key global-map [S-up] 'split-window-vertically)
(define-key global-map [S-down] 'delete-other-windows)

(global-set-key [right] 'windmove-right)
(global-set-key [left] 'windmove-left)
(define-key global-map [up] 'windmove-up)
(define-key global-map [down] 'windmove-down)

(global-set-key [C-backspace] 'switch-to-buffer)
(global-set-key [C-delete] '(lambda() (interactive)(kill-buffer (buffer-name))))

(global-set-key [C-right] 'elscreen-next)
(global-set-key [C-left] 'elscreen-previous)

(global-set-key [C-return] 'find-file)

まあ、その、タイトルは釣りなんだ・・・

おととい初めてやった設定だしHAHAHA!

参考記事

今日 (windmove-default-keybindings) で shift + カーソルキーで分割したウィンドウが移動できることを知って驚愕してます。

Emacs ユーザーの方に質問です。これは便利! と思える elisp プ… - 人力検索はてな

カーソルキーを押すと、右手全体が微妙にホームポジションから離れてしまいますから、入力中に割り込んでくるような機能ですと、ダルくてやってられません。

改行も削除もカーソルの移動も、入力中に使う機能ですから、ダルい感じになっちゃうわけです。

ですから一旦は入力から離れるような機能を、割当てれば良いということになります。

僕の場合は、ウィンドウを分割したり、バッファを切り替えたり、ファイルを読み込んだりしている時というのは、入力をすることから離れている状態です。

そんなわけで、こういう感じにしました。


(global-set-key [right] 'split-window-horizontally);;右カーソルを横方向分割に割り当て
(global-set-key [left] 'split-window-horizontally);;右とか左とか覚えられないので、左カーソルも横方向分割に割り当て
(define-key global-map [up] 'split-window-vertically);;上カーソルを縦方向分割に割り当て
(define-key global-map [down] 'delete-other-windows);;下カーソルを分割削除に割り当て、上と下くらいなら覚えられるよ
(global-set-key [C-backspace] 'other-window);;分割したウィンドウを移動
(global-set-key [backspace] 'escreen-goto-next-screen);;escreen で次の screen に移動
(global-set-key [C-return] 'muse-project-find-file);;muse のファイルを開く的な機能、C-x + C-f とかほとんど使わんくなったよ

http://d.hatena.ne.jp/kotorikotoriko/20081103/1225687600