vimerへの道#002 vimrcキーバインド周りを強化強化

キーバインドをさらに拡張したので書いておく.
本当はもっといろいろ追加したけど中味がまだよくわかってないから,
わかってから書く

"-----
" normal mode key binding
"------------------------------
"カーソルを表示行で移動する。物理行移動は<C-n>,<C-p>
nnoremap j gj
nnoremap k gk
nnoremap <Down> gj
nnoremap <Up>   gk
nnoremap h <Left>
nnoremap l <Right>
"ノーマルモード中でもエンターキーで改行挿入でノーマルモードに戻る
noremap <CR> i<CR><ESC>
noremap <Space> i<Space><Right><ESC>


"l を <Right>に置き換えて、折りたたみを l で開くことができるようにする。
if has('folding')
  nnoremap <expr> l foldlevel(line('.')) ? "\<Right>zo" : "\<Right>"
endif

" .vimrc & .gvimrc へのアクセス
nnoremap <silent> ,ev :<C-u>edit $MYVIMRC<CR>
nnoremap <silent> ,eg  :<C-u>edit $MYGVIMRC<CR>

" .vimrc & .gvimrc をリロード
nnoremap <silent> ,rv :<C-u>source $MYVIMRC \| if has('gui_running') \| source $MYGVIMRC \| endif <CR>
nnoremap <silent> ,rg :<C-u>source $MYGVIMRC<CR>


"-----
" insert mode key binding
"------------------------------
"カーソル移動 ↑↓←→
inoremap <C-p>  <Up>
inoremap <C-n> <Down>
inoremap <C-b> <Left>
inoremap <C-f> <Right>
"Home End
inoremap <C-a> <Home>
inoremap <C-e> <End>
"文字消し
inoremap <C-d> <Delete>
inoremap <C-h> <Backspace>

主にやったのはノーマルモードキーバインド
.vimrcを編集しやすく,リロードしやすく.
あとは,個人的に熱いのがノーマルモードでの改行とスペースの挿入.
コードの整形を書いた後にするので,私には大変重宝しそうです.
いつも,o使ってエスケープしてた.
そろそろディスプレイ周りのセッティングについて学ぼうというきがしてきた!
頑張ろう.

そういえば,最近きづいたんだけど,Macってデフォルトのキー入力の場面ではemacs風味なカーソル移動ができるのね.
意外に便利です.C-aとかC-eとかいいね!!