- 追加された行はこの色です。
- 削除された行はこの色です。
*目次 [#b05ace56]
#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
*Evil [#a363d767]
Emacsにvim風のキーにするlispファイルってすでに、あるんでしょ
と思って調べてみたらありました。
**特徴 [#w8627943]
Vimのようなモードによる操作を実現する
**日本語の詳しい説明 [#p467fbeb]
***Evil: EmacsをVimのごとく使う - 導入編 [#hcd4efe2]
http://d.hatena.ne.jp/tarao/20130303/evil_intro
***Evil: EmacsをVimのごとく使う - 設定編 [#h0edf4df]
http://d.hatena.ne.jp/tarao/20130304/evil_config
***第3のエディタ Emacs Evil が手に馴染んだ9つの理由 [#h375c7e6]
http://apribase.net/2013/06/24/emacs-evil/
**本家 [#abeafde3]
http://www.emacswiki.org/emacs/Evil
**物理行移動コマンド [#w4707f66]
evil-next-visual-line
evil-previous-visual-line