76 lines
2.0 KiB
Lua
76 lines
2.0 KiB
Lua
-- maps.lua
|
|
|
|
local maps = {}
|
|
|
|
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
|
|
|
|
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 = " "
|
|
|
|
map('n', '<leader>b', '<cmd>NvimTreeToggle<CR>')
|
|
map('n', '<leader>cc', '<cmd>Telescope colorscheme<CR>')
|
|
|
|
maps.toggleGoyo()
|
|
maps.term()
|
|
maps.telescope()
|
|
maps.fixIndent()
|
|
maps.moveByRow()
|
|
maps.centeredSearch()
|
|
-- maps.moveToWindow()
|
|
end
|
|
|
|
return maps
|