vimrcに書いた、emacs風のkey bindings のメモ

実際のvimrcのコードは、こっち

移動系

Keybord Move
CTRL+a 行の先頭に移動
CTRL+e 行の末尾に移動
CTRL+b 1文字左に移動
CTRL+f 1文字右に移動

操作

Keybord Action
CTRL+c エスケープする
CTRL+h cursor前の文字を削除(backspace)
CTRL+d cursor下の文字を削除
CTRL+k cursor下から行末までを削除

ヒストリー

Keybord History
CTRL+p ヒストリーをさかのぼる
CTRL+n ヒストリーを進める

.vimrc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
" normal mode
" cursorから行末まで削除
nnoremap <silent> <C-k> d$
" insert mode
" emacs key bindings
inoremap <C-a> <Home>
inoremap <C-e> <End>
inoremap <C-b> <Left>
inoremap <C-f> <Right>
inoremap <C-d> <Del>
inoremap <C-k> <Esc>lc$

" command-line
" emacs key bindings
cnoremap <C-a> <Home>
cnoremap <C-e> <End>
cnoremap <C-b> <Left>
cnoremap <C-f> <Right>
cnoremap <C-d> <Del>
cnoremap <C-k> <C-\>e getcmdpos() == 1 ? '' : getcmdline()[:getcmdpos()-2]<CR>