" hardmode == not using arrow keys function! s:bail() let l:msg = 'E0X: Use hjkl' echohl ErrorMsg | echo l:msg | echohl None endfunction function! s:enable_hardmode(bang) if !a:bang try " map arrow keys to more useful actions " https://coderoncode.com/posts/vim-is-the-perfect-ide nmap r :resize +2 nmap r :resize -2 nmap r :vertical resize +2 nmap r :vertical resize +2 nmap w :wincmd k nmap w :wincmd j nmap w :wincmd h nmap w :wincmd l nmap wm :wincmd K nmap wm :wincmd J nmap wm :wincmd H nmap wm :wincmd L " or bail on them altogether nmap :call bail() nmap :call bail() nmap :call bail() nmap :call bail() vmap :call bail() vmap :call bail() vmap :call bail() vmap :call bail() imap :call bail() imap :call bail() imap :call bail() imap :call bail() catch endtry else try nunmap nunmap nunmap nunmap vunmap vunmap vunmap vunmap iunmap iunmap iunmap iunmap catch endtry endif endfunction call s:enable_hardmode(0) command! -bang Hardmode call s:enable_hardmode(0)