2021-02-24 20:52:43 +01:00
|
|
|
-- maps.lua
|
2021-11-26 23:38:04 +01:00
|
|
|
|
|
|
|
local maps = {}
|
|
|
|
|
2021-02-24 19:14:06 +01:00
|
|
|
local function map(mode, lhs, rhs, opts)
|
|
|
|
local options = {noremap = true}
|
|
|
|
if opts then options = vim.tbl_extend('force', options, opts) end
|
|
|
|
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
|
|
|
|
end
|
|
|
|
|
2021-11-26 23:38:04 +01:00
|
|
|
function maps.toggleGoyo()
|
|
|
|
map('n', '<C-g>', ':Goyo<Enter>', {noremap = false})
|
|
|
|
end
|
|
|
|
function maps.term()
|
|
|
|
-- Open and move to resized terminal
|
|
|
|
map('n', '<leader>t', '<C-w>s<C-w>j :terminal<CR>:res 5<CR>i', {noremap = false})
|
|
|
|
-- Enter normal mode in terminal
|
|
|
|
map('t', 'ß<C-N>', '<C-\\><C-N>')
|
|
|
|
end
|
|
|
|
|
|
|
|
function maps.telescope()
|
|
|
|
map('n', '<Leader>ff', '<cmd>lua require(\'telescope.builtin\').git_files()<CR>')
|
|
|
|
map('n', '<Leader>fg', '<cmd>lua require(\'telescope.builtin\').live_grep()<CR>')
|
|
|
|
map('n', '<Leader>fb', '<cmd>lua require(\'telescope.builtin\').buffers()<CR>')
|
|
|
|
map('n', '<Leader>fh', '<cmd>lua require(\'telescope.builtin\').help_tags()<CR>')
|
|
|
|
end
|
|
|
|
|
|
|
|
function maps.fixIndent()
|
|
|
|
map('v', '<', '<gv')
|
|
|
|
map('v', '>', '>gv')
|
|
|
|
end
|
|
|
|
|
|
|
|
function maps.moveByRow()
|
|
|
|
-- When text is wrapped, move by terminal rows, not lines, unles a count is provided
|
|
|
|
map('n', 'j', 'v:count == 0 ? \'gj\' : \'j\'', {silent = true, expr = true})
|
|
|
|
map('n', 'k', 'v:count == 0 ? \'gk\' : \'k\'', {silent = true, expr = true})
|
|
|
|
end
|
|
|
|
|
|
|
|
function maps.centeredSearch()
|
|
|
|
map('n', 'n', 'nzzzv')
|
|
|
|
map('n', 'N', 'Nzzzv')
|
|
|
|
end
|
|
|
|
|
|
|
|
function maps.moveToWindow()
|
|
|
|
map('t', 'ª', '<C-\\><C-N><C-w>h')
|
|
|
|
map('t', 'º', '<C-\\><C-N><C-w>j')
|
|
|
|
map('t', '∆', '<C-\\><C-N><C-w>k')
|
|
|
|
map('t', '@', '<C-\\><C-N><C-w>l')
|
|
|
|
map('i', 'ª', '<C-\\><C-N><C-w>h')
|
|
|
|
map('i', 'º', '<C-\\><C-N><C-w>j')
|
|
|
|
map('i', '∆', '<C-\\><C-N><C-w>k')
|
|
|
|
map('i', '@', '<C-\\><C-N><C-w>l')
|
|
|
|
map('n', 'ª', '<C-w>h')
|
|
|
|
map('n', 'º', '<C-w>j')
|
|
|
|
map('n', '∆', '<C-w>k')
|
|
|
|
map('n', '@', '<C-w>l')
|
|
|
|
end
|
|
|
|
|
|
|
|
function maps.init()
|
|
|
|
vim.g.mapleader = " "
|
|
|
|
|
|
|
|
maps.toggleGoyo()
|
|
|
|
maps.term()
|
|
|
|
maps.telescope()
|
|
|
|
maps.fixIndent()
|
|
|
|
maps.moveByRow()
|
|
|
|
maps.centeredSearch()
|
|
|
|
maps.moveToWindow()
|
|
|
|
end
|
|
|
|
|
|
|
|
return maps
|