vim.g.mapleader = " " -- Navigation vim.keymap.set({'n', 'v'}, 'j', 'gj', {}) vim.keymap.set({'n', 'v'}, 'k', 'gk', {}) vim.keymap.set('n', '', 'h', {}) vim.keymap.set('n', '', 'j', {}) vim.keymap.set('n', '', 'k', {}) vim.keymap.set('n', '', 'l', {}) vim.keymap.set('t', '', 'h', {}) vim.keymap.set('t', '', 'j', {}) vim.keymap.set('t', '', 'k', {}) vim.keymap.set('t', '', 'l', {}) vim.keymap.set('n', 'zm', '_|', { noremap = true, silent = true }) vim.keymap.set('n', '', '5<', {}) vim.keymap.set('n', '', '5+', {}) vim.keymap.set('n', '', '5-', {}) vim.keymap.set('n', '', '5>', {}) vim.keymap.set('t', '', '5<', {}) vim.keymap.set('t', '', '5+', {}) vim.keymap.set('t', '', '5-', {}) vim.keymap.set('t', '', '5>', {}) vim.keymap.set('n', 's', ':call WindowSwap#EasyWindowSwap()', {}) -- Convenience vim.keymap.set('n', 'w', ':w', { silent = true }) vim.keymap.set('n', 'F', ':NvimTreeToggle', { noremap = true, silent = true }) vim.keymap.set('n', 'Y', 'y$', {}) -- Telescope local telebuiltin = require('telescope.builtin') vim.keymap.set('n', 'ff', telebuiltin.find_files, { silent = true }) vim.keymap.set('n', 'fg', telebuiltin.live_grep, { silent = true }) vim.keymap.set('n', 'fs', telebuiltin.grep_string, { silent = true }) vim.keymap.set('n', 'o', telebuiltin.buffers, { silent = true }) vim.keymap.set('n', 'fh', telebuiltin.help_tags, { silent = true }) -- Code vim.keymap.set('n', 'cs', 'Trouble symbols toggle focus=true win.position=right') vim.keymap.set('n', 'cl', 'Trouble lsp toggle focus=true win.position=right') vim.keymap.set('n', 'cd', 'Trouble diagnostics toggle focus=true win.position=bottom') vim.keymap.set('n', 'cq', 'Trouble quickfix toggle focus=true win.position=bottom') vim.keymap.set('n', 'cr', vim.lsp.buf.rename, { desc = 'LSP Rename' }) vim.keymap.set('n', 'ct', vim.lsp.buf.type_definition, { desc = 'LSP Type Definition' }) vim.keymap.set('n', 'cf', require("conform").format, { desc = 'LSP Format' }) vim.keymap.set('n', 'cgi', vim.lsp.buf.implementation, { desc = 'LSP Implementation' }) vim.keymap.set('n', 'cgd', vim.lsp.buf.definition, { desc = 'LSP Definition' }) vim.keymap.set('n', 'cgD', vim.lsp.buf.declaration, { desc = 'LSP Declaration' }) vim.keymap.set('n', 'cwa', vim.lsp.buf.add_workspace_folder, { desc = 'LSP Add Workspace Folder' }) vim.keymap.set('n', 'cwl', vim.lsp.buf.list_workspace_folders, { desc = 'LSP List Workspace Folders' }) vim.keymap.set('n', 'cwr', vim.lsp.buf.remove_workspace_folder, { desc = 'LSP Remove Workspace Folder' }) vim.keymap.set('n', 'cws', vim.lsp.buf.workspace_symbol, { desc = 'LSP Workspace Symbol' }) vim.keymap.set('n', 'ch', vim.lsp.buf.hover, { desc = 'LSP Hover' }) vim.keymap.set('n', 'cH', vim.lsp.buf.signature_help, { desc = 'LSP Signature Help' }) vim.keymap.set({ 'n', 'v' }, 'ca', vim.lsp.buf.code_action, { desc = 'LSP Code Action' }) vim.keymap.set('n', 'cde', ToggleDiagnostics, { desc = 'Toggle Diagnostics' }) vim.keymap.set('n', 'cf', function() local word = vim.fn.expand("") require('telescope.builtin').live_grep({ default_text = word, }) end ) vim.keymap.set('v', 'cf', function() require('telescope.builtin').grep_string() end ) -- Yanky vim.keymap.set({"n","x"}, "p", "(YankyPutAfter)") vim.keymap.set({"n","x"}, "P", "(YankyPutBefore)") vim.keymap.set({"n","x"}, "gp", "(YankyGPutAfter)") vim.keymap.set({"n","x"}, "gP", "(YankyGPutBefore)") vim.keymap.set("n", "", "(YankyCycleForward)") vim.keymap.set("n", "", "(YankyCycleBackward)") vim.keymap.set({"n","x"}, "y", "(YankyYank)") -- Undotree vim.keymap.set('n', 'u', vim.cmd.UndotreeToggle) -- DAP vim.keymap.set('n', "db", function() require("dap").toggle_breakpoint() end) vim.keymap.set('n', "dB", function() require("dap").set_breakpoint(vim.fn.input('Breakpoint condition: ')) end) vim.keymap.set('n', "dc", function() require("dap").continue() end) vim.keymap.set('n', "da", function() require("dap").continue({ before = get_args }) end) vim.keymap.set('n', "dC", function() require("dap").run_to_cursor() end) vim.keymap.set('n', "dg", function() require("dap").goto_() end) vim.keymap.set('n', "di", function() require("dap").step_into() end) vim.keymap.set('n', "dj", function() require("dap").down() end) vim.keymap.set('n', "dk", function() require("dap").up() end) vim.keymap.set('n', "dl", function() require("dap").run_last() end) vim.keymap.set('n', "do", function() require("dap").step_over() end) vim.keymap.set('n', "dO", function() require("dap").step_out() end) vim.keymap.set('n', "dP", function() require("dap").pause() end) vim.keymap.set('n', "dr", function() require("dap").repl.toggle() end) vim.keymap.set('n', "ds", function() require("dap").session() end) vim.keymap.set('n', "dt", function() require("dap").terminate() end) vim.keymap.set('n', "dw", function() require("dap.ui.widgets").hover() end) vim.keymap.set('n', "", function() require("dap").continue() end) vim.keymap.set('n', "", function() require("dap").step_into() end) vim.keymap.set('n', "", function() require("dap").step_over() end) vim.keymap.set('n', "", function() require("dap").step_out() end)