diff options
Diffstat (limited to '.vim/lua/hardmode.lua')
| -rw-r--r-- | .vim/lua/hardmode.lua | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/.vim/lua/hardmode.lua b/.vim/lua/hardmode.lua new file mode 100644 index 0000000..ed7d4ac --- /dev/null +++ b/.vim/lua/hardmode.lua @@ -0,0 +1,38 @@ +-- hard mode means we're not using the arrow keys! +-- map them to more useful actions instead +-- https://coderoncode.com/posts/vim-is-the-perfect-ide + +local cmd = vim.cmd +local u = require('utils') + +local bail = ':silent! echohl ErrorMsg | echo "HARD MODE: hjkl operation only" | echohl None<CR>' + +u.map('n', 'R<up>', ':resize +2<CR>') +u.map('n', 'R<down>', ':resize -2<CR>') +u.map('n', 'R<left>', ':vertical resize +2<CR>') +u.map('n', 'R<right>', ':vertical resize +2<CR>') + +u.map('n', 'W<up>', ':wincmd k<CR>') +u.map('n', 'W<down>', ':wincmd j<CR>') +u.map('n', 'W<left>', ':wincmd h<CR>') +u.map('n', 'W<right>', ':wincmd l<CR>') + +u.map('n', 'Wm<up>', ':wincmd K<CR>') +u.map('n', 'Wm<down>', ':wincmd J<CR>') +u.map('n', 'Wm<left>', ':wincmd H<CR>') +u.map('n', 'Wm<right>', ':wincmd L<CR>') + +u.map('n', '<up>', bail) +u.map('n', '<down>', bail) +u.map('n', '<left>', bail) +u.map('n', '<right>', bail) + +u.map('v', '<up>', bail) +u.map('v', '<down>', bail) +u.map('v', '<left>', bail) +u.map('v', '<right>', bail) + +u.map('i', '<up>', '<esc>' .. bail) +u.map('i', '<down>', '<esc>' .. bail) +u.map('i', '<left>', '<esc>' .. bail) +u.map('i', '<right>', '<esc>' .. bail) |