From f5d56602df70950de6b7d40966b00c9939c81763 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Sun, 26 Jan 2020 17:16:07 +0100 Subject: Intial commit of v2 See https://drewdevault.com/2019/12/30/dotfiles.html --- .vim/plugin/hard.vim | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .vim/plugin/hard.vim (limited to '.vim/plugin/hard.vim') diff --git a/.vim/plugin/hard.vim b/.vim/plugin/hard.vim new file mode 100644 index 0000000..07a346d --- /dev/null +++ b/.vim/plugin/hard.vim @@ -0,0 +1,65 @@ +" 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) -- cgit 1.4.1