55 lines
1.5 KiB
Lua
55 lines
1.5 KiB
Lua
local map = vim.keymap.set
|
|
|
|
map('n', '<leader>q', vim.diagnostic.setloclist)
|
|
|
|
map({ 'i', 'c' }, 'jk', '<Esc>')
|
|
map('n', '<Esc>', '<cmd>nohlsearch<CR>')
|
|
|
|
-- Prevent overriding the register
|
|
map('n', 'x', '"_x')
|
|
|
|
-- Window Navigation
|
|
map('n', '<C-h>', '<C-w>h')
|
|
map('n', '<C-l>', '<C-w>l')
|
|
map('n', '<C-j>', '<C-w>j')
|
|
map('n', '<C-k>', '<C-w>k')
|
|
|
|
-- Tab management
|
|
map('n', '<Leader>tn', ':tabnew<CR>')
|
|
map('n', '<Leader>tc', ':tabclose<CR>')
|
|
map('n', '<Leader>tl', ':tabnext<CR>')
|
|
map('n', '<Leader>th', ':tabprevious<CR>')
|
|
map('n', '<Leader>tm.', ':tabmove +1<CR>')
|
|
map('n', '<Leader>tm,', ':tabmove -1<CR>')
|
|
for i = 1, 9 do
|
|
map('n', string.format('<Leader>%d', i), string.format('%dgt', i))
|
|
end
|
|
|
|
-- Buffer Management
|
|
-- map('n', '<Leader>bl', ':ls<CR>')
|
|
-- map('n', '<Leader>bd', ':bdelete<CR>')
|
|
-- map('n', ']b', ':bnext<CR>')
|
|
-- map('n', '[b', ':bprevious<CR>')
|
|
-- map('n', '<Leader>bb', ':b<Space>')
|
|
-- map('n', '<Leader>bo', ':bufdo bd|1bd<CR>')
|
|
|
|
-- Terminal
|
|
map('n', '<leader>tt', ':TermDefault<CR>')
|
|
map('n', '<leader>tr', ':TermRelative<CR>')
|
|
map('n', '<leader>ts', ':TermSplit<CR>')
|
|
map('n', '<leader>tv', ':TermVSplit<CR>')
|
|
|
|
-- Terminal mode mappings
|
|
local tn = '<C-\\><C-n>'
|
|
map('t', '<Esc>', tn)
|
|
map('t', 'jk', tn)
|
|
map('t', '<C-w>', tn .. '<C-w>')
|
|
map('t', '<C-h>', '<cmd>wincmd h<CR>')
|
|
map('t', '<C-j>', '<cmd>wincmd j<CR>')
|
|
map('t', '<C-k>', '<cmd>wincmd k<CR>')
|
|
map('t', '<C-l>', '<cmd>wincmd l<CR>')
|
|
|
|
-- File explorer
|
|
vim.keymap.set('n', '<leader>e', '<cmd>NvimTreeToggle<CR>')
|
|
vim.keymap.set('n', '<leader>E', '<cmd>NvimTreeOpen<CR>')
|