60 lines
2.2 KiB
Lua
60 lines
2.2 KiB
Lua
-- move lines up & down
|
|
vim.keymap.set('v', 'J', ":m '>+1<CR>gv=gv")
|
|
vim.keymap.set('v', 'K', ":m '<-2<CR>gv=gv")
|
|
|
|
-- move around centered
|
|
vim.keymap.set('n', '<C-d>', '<C-d>zz')
|
|
vim.keymap.set('n', '<C-u>', '<C-u>zz')
|
|
vim.keymap.set('n', 'n', 'nzzzv')
|
|
vim.keymap.set('n', 'N', 'Nzzzv')
|
|
|
|
-- copy & paste
|
|
vim.keymap.set('x', '<leader>p', '"_dP')
|
|
|
|
vim.keymap.set('n', '<leader>y', '"+y')
|
|
vim.keymap.set('v', '<leader>y', '"+y')
|
|
vim.keymap.set('n', '<leader>Y', '"+Y')
|
|
|
|
vim.keymap.set('n', '<leader>d', '"_d')
|
|
vim.keymap.set('v', '<leader>d', '"_d')
|
|
|
|
-- [[ Basic Keymaps ]]
|
|
-- See `:help vim.keymap.set()`
|
|
|
|
-- Clear highlights on search when pressing <Esc> in normal mode
|
|
-- See `:help hlsearch`
|
|
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
|
|
|
|
-- Diagnostic keymaps
|
|
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
|
|
|
|
-- Keybinds to make split navigation easier.
|
|
-- Use CTRL+<hjkl> to switch between windows
|
|
--
|
|
-- See `:help wincmd` for a list of all window commands
|
|
vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
|
|
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
|
|
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
|
|
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
|
|
|
-- buffer management
|
|
vim.keymap.set('n', '<leader>cc', ':bp<bar>sp<bar>bn<bar>bd<CR>', { desc = '[C]lose [C]urrent buffer' })
|
|
vim.keymap.set('n', '<leader>ch', function()
|
|
local bufinfos = vim.fn.getbufinfo { buflisted = 1 }
|
|
local skipCount = 0
|
|
local deleteCount = 0
|
|
vim.tbl_map(function(bufinfo)
|
|
if bufinfo.changed == 1 then
|
|
skipCount = skipCount + 1
|
|
elseif not bufinfo.windows or #bufinfo.windows == 0 then
|
|
deleteCount = deleteCount + 1
|
|
vim.api.nvim_buf_delete(bufinfo.bufnr, { force = false, unload = false })
|
|
end
|
|
print(('Deleted %d out of %d hidden buffers'):format(deleteCount, deleteCount + skipCount))
|
|
end, bufinfos)
|
|
end, { desc = '[C]lose [H]idden buffers' })
|
|
|
|
vim.keymap.set('n', '<leader>tt', function()
|
|
vim.diagnostic.open_float(nil, { focus = false })
|
|
end, { desc = 'Toggle Trouble' })
|