summary refs log tree commit diff
path: root/.vim/lua/hardmode.lua
blob: 950afdf6a5e9207e8ddaece326c1d8bcb3e87d37 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
-- 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 bail = 'silent! echohl ErrorMsg | echo "HARD MODE: hjkl operation only" | echohl None'

vim.keymap.set('n', 'R<up>',     function() vim.cmd [[ resize +2 ]] end)
vim.keymap.set('n', 'R<down>',   function() vim.cmd [[ resize -2 ]] end)
vim.keymap.set('n', 'R<left>',   function() vim.cmd [[ vertical resize +2 ]] end)
vim.keymap.set('n', 'R<right>',  function() vim.cmd [[ vertical resize +2 ]] end)

vim.keymap.set('n', 'W<up>',     function() vim.cmd [[ wincmd k ]] end)
vim.keymap.set('n', 'W<down>',   function() vim.cmd [[ wincmd j ]] end)
vim.keymap.set('n', 'W<left>',   function() vim.cmd [[ wincmd h ]] end)
vim.keymap.set('n', 'W<right>',  function() vim.cmd [[ wincmd l ]] end)

vim.keymap.set('n', 'Wm<up>',    function() vim.cmd [[ wincmd K ]] end)
vim.keymap.set('n', 'Wm<down>',  function() vim.cmd [[ wincmd J ]] end)
vim.keymap.set('n', 'Wm<left>',  function() vim.cmd [[ wincmd H ]] end)
vim.keymap.set('n', 'Wm<right>', function() vim.cmd [[ wincmd L ]] end)

vim.keymap.set('n', '<up>',      function() vim.cmd(bail) end)
vim.keymap.set('n', '<down>',    function() vim.cmd(bail) end)
vim.keymap.set('n', '<left>',    function() vim.cmd(bail) end)
vim.keymap.set('n', '<right>',   function() vim.cmd(bail) end)

vim.keymap.set('v', '<up>',      function() vim.cmd(bail) end)
vim.keymap.set('v', '<down>',    function() vim.cmd(bail) end)
vim.keymap.set('v', '<left>',    function() vim.cmd(bail) end)
vim.keymap.set('v', '<right>',   function() vim.cmd(bail) end)