*目次 [#b05ace56]
#contenst
#contents

*趣旨 [#pa3ce9af]
viはサイズが小さいので、linuxにたいてい入っている。

エディタごとにキーバインドを覚えるのは面倒である。

emacsはカスタマイズが効くエディタである。


そこで、emacsのキーバインドをvi風にしておく。

*カーソル移動 [#p480b30c]


**emacsのデフォルトのカーソル移動 [#oad06f12]
                               前の行,C-p
                                    :
                                    :
     前の文字,C-b   ....   現在のカーソル位置   ....   次の文字,C-f
                                    :
                                    :
                               次の行,C-n

**viのデフォルトのカーソル移動 [#u46098bd]
                               前の行,C-k
                                    :
                                    :
     前の文字,C-h   ....   現在のカーソル位置   ....   次の文字,C-l
                                    :
                                    :
                               次の行,C-j

**カーソル移動をCtrl-hjklに [#q73e8470]
    (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



***参考 [#v1d96264]

元Vimmerが考えるEmacsの再設計

http://dev.ariel-networks.com/wp/documents/aritcles/emacs/part16


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS