viはサイズが小さいので、linuxにたいてい入っている。
エディタごとにキーバインドを覚えるのは面倒である。
emacsはカスタマイズが効くエディタである。
そこで、emacsのキーバインドをvi風にしておく。
前の行,C-p : : 前の文字,C-b .... 現在のカーソル位置 .... 次の文字,C-f : : 次の行,C-n
前の行,C-k : : 前の文字,C-h .... 現在のカーソル位置 .... 次の文字,C-l : : 次の行,C-j
(global-set-key "\C-h" 'backward-char) (global-set-key "\C-j" 'next-line) (global-set-key "\C-k" 'previous-line) (global-set-key "\C-l" 'forward-char)
(global-set-key "\C-n" 'newline-and-indent) (global-set-key "\C-o" 'kill-line)
確認のため、scratchでためしてみる。。。
一行ずついれるのは大変だ。
progn
をつくって順番に処理させよう
(progn (global-set-key "\C-h" 'backward-char) (global-set-key "\C-j" 'next-line) (global-set-key "\C-k" 'previous-line) (global-set-key "\C-l" 'forward-char) (global-set-key "\C-n" 'newline-and-indent) (global-set-key "\C-o" 'kill-line) )
で、確認する。するとctrl+jはlispの実行というか評価のショートカットキーじゃないですか。。。
lisp実行キーには効かなかったということは、キーの設定に優先順位があるということがわかった。
もともとあるキーバインドと衝突するのはいやだ、考え方を改めよう。
空気のようなキーバインドを言っている人がいたので、そのサイトのリンクを張っておきます。
http://emacs.g.hatena.ne.jp/k1LoW/?of=5
元Vimmerが考えるEmacsの再設計
http://dev.ariel-networks.com/wp/documents/aritcles/emacs/part16