-- Remap space as leader key vim.keymap.set("", "", "", { silent = true }) vim.g.mapleader = " " vim.g.maplocalleader = " " -- Modes test -- normal_mode = "n", -- insert_mode = "i", -- visual_mode = "v", -- visual_block_mode = "x", -- term_mode = "t", -- command_mode = "c", require("util").keymaps({ n = { [";"] = { ":", desc = "No shift command mode" }, ["n"] = { "nzzzv", desc = "Next search result centered" }, ["N"] = { "Nzzzv", desc = "Previous search result centered" }, [""] = { ":noh", desc = "Clear search on escape" }, [""] = { ":noh", desc = "Clear search on return" }, ["a"] = { "ggVG", desc = "Select all" }, ["w"] = { "w", desc = "Save" }, ["q"] = { "confirm q", desc = "Quit" }, ["cq"] = { "bd", desc = "Close current buffer" }, ["|"] = { "vsplit", desc = "Vertical Split" }, ["\\"] = { "split", desc = "Horizontal Split" }, [""] = { "zz", desc = "Vertical half page down and center cursor" }, [""] = { "zz", desc = "Vertical half page up and center cursor" }, ["y"] = { '"*y', desc = "Copy to system clipboard" }, ["p"] = { '"*p', desc = "Paste from system clipboard" }, ["Q"] = { ":qa", desc = "Quit all" }, ["J"] = { "mzJ`z", desc = "Move line below onto this line" }, -- window navigation [""] = { "h", desc = "Move window left current" }, [""] = { "j", desc = "Move window below current" }, [""] = { "k", desc = "Move window above current" }, [""] = { "l", desc = "Move window right current" }, -- reformat LSP ["lf"] = { function() vim.lsp.buf.format() end, desc = "Reformat file", }, ["ld"] = { function() vim.diagnostic.open_float() end, desc = "Show diagnostic message", }, ["ll"] = { function() vim.diagnostic.setloclist() end, desc = "Show diagnostic list", }, ["lz"] = { "e", desc = "Edit current file again / Restart LSP Server" }, [",uu"] = { ':let @u = trim(tolower(system("uuidgen")))au', desc = "Generate and insert UUID" }, ["b"] = { "b#", desc = "Switch to last buffer" }, }, v = { ["J"] = { ":m '>+1gv=gv", desc = "Visually move block down" }, ["K"] = { ":m '<-2gv=gv", desc = "Visually move block up" }, [",uu"] = { 'd:let @u = trim(tolower(system("uuidgen")))iu', desc = "Generate and replace UUID", }, ["y"] = { '"*y', desc = "Copy to system clipboard" }, ["p"] = { '"*p', desc = "Paste from system clipboard" }, }, i = { [""] = { "", desc = "Up" }, [""] = { "", desc = "Down" }, [""] = { "", desc = "Left" }, [""] = { "", desc = "Right" }, [""] = { "", desc = "End" }, [""] = { "", desc = "Home" }, }, c = { [""] = { "", desc = "Left" }, [""] = { "", desc = "Down" }, [""] = { "", desc = "Up" }, [""] = { "", desc = "Right" }, [""] = { "", desc = "End" }, [""] = { "", desc = "Home" }, }, x = { ["p"] = { '"_dP', desc = "Paste w/o copying replaced content" }, ["h//g', desc = "Replace current selection" }, }, t = { [""] = { "", desc = "Escape the terminal" }, }, })