local ts = require("telescope.builtin") local u = require("daniil.utils") local git = require("daniil.git") -- General keymaps vim.keymap.set("n", "", ":nohl") -- Quickfix and location list remaps vim.keymap.set("n", "", u.toggle_qflist) vim.keymap.set("n", "q", u.toggle_locationlist) -- Disable different keys and commands vim.keymap.set({ "n", "i", "v" }, "", "") vim.keymap.set({ "n", "i", "v" }, "", "") vim.keymap.set({ "n", "i", "v" }, "", "") vim.keymap.set("n", "q:", "") -- Move focus between splits vim.keymap.set("n", "h", "h") vim.keymap.set("n", "l", "l") vim.keymap.set("n", "j", "j") vim.keymap.set("n", "k", "k") -- Resize splits vim.keymap.set("n", "", ":vert :res -10") vim.keymap.set("n", "", ":vert :res +10") vim.keymap.set("n", "", ":res -5") vim.keymap.set("n", "", ":res +5") -- Move lines easily vim.keymap.set("v", "K", ":m '<-2gv=gv") vim.keymap.set("v", "J", ":m '>+1gv=gv") -- Leave selection when moving code left and right vim.keymap.set("v", "<", "", ">gv") -- Terminal vim.keymap.set("n", "Th", ":split | :term") vim.keymap.set("n", "Tv", ":vs | :term") -- Tabs vim.keymap.set("n", "H", ":tabprev") vim.keymap.set("n", "L", ":tabnext") vim.keymap.set("n", "tn", ":tabnew") vim.keymap.set("n", "tN", ":-tabnew") vim.keymap.set("n", "tc", function() require("daniil.tabs").close_tab() end) vim.keymap.set("n", "tr", function() require("daniil.tabs").restore_tab() end) vim.keymap.set("n", "tf", function() require("daniil.tabs").find_tab() end) vim.keymap.set("n", "", ":-tabmove") vim.keymap.set("n", "", ":+tabmove") -- Nvim Tree vim.keymap.set("n", "", function() require("nvim-tree").toggle(true, false) end) vim.keymap.set("n", "", function() require("nvim-tree").toggle(true, true) end) -- Telescope vim.keymap.set("n", "f", function() ts.find_files({ hidden = true }) end) vim.keymap.set("n", "p", function() ts.builtin() end) vim.keymap.set("n", "b", function() ts.buffers() end) -- LSP vim.keymap.set("n", "gd", function() ts.lsp_definitions() end) vim.keymap.set("n", "gr", function() ts.lsp_references() end) vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end) vim.keymap.set("n", "", function() vim.lsp.buf.rename() end) vim.keymap.set("n", ".", function() vim.lsp.buf.code_action() end) vim.keymap.set("v", ".", function() vim.lsp.buf.range_code_action() end) -- Diagnostics vim.keymap.set("n", "dd", function() vim.diagnostic.open_float(nil, { focus = false, scope = "line" }) end) vim.keymap.set("n", "dy", function() u.copy_diagnostic_message() end) vim.keymap.set("n", "dn", function() vim.diagnostic.goto_next({ float = false }) end) vim.keymap.set("n", "dp", function() vim.diagnostic.goto_prev({ float = false }) end) vim.keymap.set("n", "do", ":lopen") vim.keymap.set("n", "ds", u.open_error_on_stackoverflow) -- Git vim.keymap.set("n", "gg", ":G") vim.keymap.set("n", "go", function() git.open_commit_on_github() end) -- Refactoring vim.keymap.set("n", "ri", function() u.lsp_organize_imports() end) vim.keymap.set("n", "rf", function() u.lsp_format() end)