事前インストール
cowsayとslコマンド必要なので予めインストールが必要
brew install cowsay sl
設定方法
.vimrcに以下を設定する。
設定するとAAのドラゴンが丁寧に教えてくれる。
function TeachKey(message) let summon = join([“!clear; cowsay -f dragon “, a:message, “を押すのだ”]) exec summon endfun nnoremap <buffer> <Left> <Esc>:call TeachKey(‘h’)<CR> nnoremap <buffer> <Right> <Esc>:call TeachKey(‘l’)<CR> nnoremap <buffer> <Up> <Esc>:call TeachKey(‘k’)<CR> nnoremap <buffer> <Down> <Esc>:call TeachKey(‘j’)<CR> nnoremap <buffer> <PageUp> <Esc>:call TeachKey(‘Ctrl+B’)<CR> nnoremap <buffer> <PageDown> <Esc>:call TeachKey(‘Ctrl+F’)<CR> inoremap <buffer> <Left> <Esc>:call TeachKeyBi)ding(‘h’)<CR> inoremap <buffer> <Right> <Esc>:call TeachKey(‘l’)<CR> inoremap <buffer> <Up> <Esc>:call TeachKey(‘k’)<CR> inoremap <buffer> <Down> <Esc>:call TeachKey(‘j’)<CR> inoremap <buffer> <PageUp> <Esc>:call TeachKey(‘Ctrl+B’)<CR> inoremap <buffer> <PageDown> <Esc>:call TeachKey(‘Ctrl+F’)<CR> vnoremap <buffer> <Left> <Esc>:call TeachKeyBi)ding(‘h’)<CR> vnoremap <buffer> <Right> <Esc>:call TeachKey(‘l’)<CR> vnoremap <buffer> <Up> <Esc>:call TeachKey(‘k’)<CR> vnoremap <buffer> <Down> <Esc>:call TeachKey(‘j’)<CR> vnoremap <buffer> <PageUp> <Esc>:call TeachKey(‘Ctrl+B’)<CR> vnoremap <buffer> <PageDown> <Esc>:call TeachKey(‘Ctrl+F’)<CR> nnoremap <buffer> <Del> <Esc>:<C-u>!sl<CR> inoremap <buffer> <Del> <Esc>:<C-u>!sl<CR> vnoremap <buffer> <Del> <Esc>:<C-u>!sl<CR> set backspace=0
確認方法
設定されるとこんなのが出る。
参考URL
vi(vim)で完全にカーソルキーを無効化させたい - スタック・オーバーフロー