vimをよく使っていろいろ編集しているのですが、最近キーカスタマイズにはまっているので紹介。
テスト的に、Karabinerを利用。インストールはHomebrewで。インストールしたら、アクセシビリティとか変更の必要あり。
brew cask install karabiner-elements
.vimrcに以下を記述。また念のため<C-j>にも割り当てる。
" ESCキーの代わり inoremap jk <ESC> imap <C-j> <esc> noremap! <C-j> <esc>
こちらも、.vimrcに書きます。ここでは、Leaderをスペースキーに割り当てています。Leaderキーの機能は、キーの組み合わせではなくて、連続でキーを押すことで実行できるショートカットのようなもの。
let mapleader = "\<Space>"
そして、もろもろの機能を割り当て。
" 二回スペースキーを押すとビジュアルモードに。 nmap <Leader><Leader> V " [スペース]とwで保存 nnoremap <Leader>w :w<CR> " クリップボードのアクセスも vmap <Leader>y "+y vmap <Leader>d "+d nmap <Leader>p "+p nmap <Leader>P "+P vmap <Leader>p "+p vmap <Leader>P "+P
あとは、vim-goでビルドと実行を割当てると便利。vim-goのチュートリアルに書いてあるやつだけど。
autocmd FileType go nmap <leader>b <Plug>(go-build) autocmd FileType go nmap <leader>r <Plug>(go-run)
英数キーと組み合わせなければ、karabiner使わなくてもできます。
" 挿入モード時、Ctrlキーでhjklで移動 inoremap <C-h> <Left> inoremap <C-j> <Down> inoremap <C-k> <Up> inoremap <C-l> <Right> cnoremap <C-h> <Left> cnoremap <C-j> <Down> cnoremap <C-k> <Up> cnoremap <C-l> <Right>