事前インストール
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)で完全にカーソルキーを無効化させたい - スタック・オーバーフロー
#development/vim