はじめに
vimでは様々な便利なコマンドが用意されていてるが全選択するには一部例外を覗いて4回キーボードを叩く必要がある(ggVG
)
さらにこれはノーマルモードに限定した話で、他のモードの場合は1回多くなる。
そこで我々が使い慣れたキーバインドを考えた。
方法
.vimrc
" すべて選択
inoremap <C-a> <NOP>
inoremap <C-a> <ESC>ggVG
nnoremap <C-a> ggVG
vnoremap <C-a> ggVG
これで3つのモードでctrl+a
で全選択ができるようになる。
おまけ
すべてコピー
.vimrc
" すべてコピー
nnoremap <C-c> <Nop>
inoremap <C-c>
nnoremap <C-c> ggVGy
vnoremap <C-c> ggVGy
すべて削除
vim.vimrc
" すべてを削除
inoremap <C-x> <ESC>:%d<CR>
nnoremap <C-x> :%d<CR>
vnoremap <C-x> <ESC>:%d<CR>
まとめ
.vimrc
" すべてを選択
inoremap <C-a> <Nop>
inoremap <C-a> <ESC>ggVG
nnoremap <C-a> ggVG
vnoremap <C-a> ggVG
" すべてコピー
nnoremap <C-c> <Nop>
inoremap <C-c> <ESC>ggVGy
nnoremap <C-c> ggVGy
vnoremap <C-c> ggVGy
" すべてを削除
inoremap <C-x> <ESC>:%d<CR>
nnoremap <C-x> :%d<CR>
vnoremap <C-x> <ESC>:%d<CR>