init.lua/lua/crony/map.lua

43 lines
1.4 KiB
Lua

local map = vim.keymap.set
-- Leader
vim.g.mapleader = ' '
vim.g.maplocalleader = ';'
-- Diagnostic keymaps
map('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' })
map('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' })
map('n', '<leader>e', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' })
map('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostics list' })
-- Lsp format
map('n', '<leader>f', vim.lsp.buf.format, { desc = "Format current buffer" })
-- Move text easilly
map("v", "J", ":m '>+1<CR>gv=gv", { desc = "Move selected text up" })
map("v", "K", ":m '<-2<CR>gv=gv", { desc = "Move selected text down" })
-- better find next and previous
map("n", "n", "nzzzv", { desc = "Keep cursor in middle with search" })
map("n", "N", "Nzzzv", { desc = "Keep cursor in middle with search" })
map("n", "J", "mzJ`z", { desc = "Move up next line with space in between" })
-- greatest remap ever
map("x", "<leader>p", [["_dP]], { desc = "Paste while keeping the registry" })
-- source current lua config file
map("n", "<leader><leader>", function()
vim.cmd("so")
end, { desc = "Source current source file" })
-- better indenting
map("v", "<", "<gv")
map("v", ">", ">gv")
-- allow for use of system clipboard fast
map({ "n", "v" }, "<leader>y", [["+y]])
map("n", "<leader>Y", [["+Y]])
map({ "n", "v" }, "<leader>P", [["+p]])
map({ "n", "v" }, "<leader>d", [["_d]])