diff --git a/neovim/.config/nvim/lua/user/remaps.lua b/neovim/.config/nvim/lua/user/remaps.lua index fb09bd9..81c830c 100644 --- a/neovim/.config/nvim/lua/user/remaps.lua +++ b/neovim/.config/nvim/lua/user/remaps.lua @@ -1,81 +1,103 @@ -local utils = require("user.utils") -local nmap = utils.nmap -local vmap = utils.vmap -local tmap = utils.tmap -local imap = utils.imap - -- General keymaps -nmap("", ":nohl") -nmap("", "q") +vim.keymap.set("n", "", ":nohl") +vim.keymap.set("n", "", "q") -- Disable PageUp and PageDown keys -nmap("", "") -imap("", "") -vmap("", "") -nmap("", "") -imap("", "") -vmap("", "") +vim.keymap.set({ "n", "i", "v" }, "", "") +vim.keymap.set({ "n", "i", "v" }, "", "") -- Move focus between splits -nmap("h", "h") -nmap("l", "l") -nmap("j", "j") -nmap("k", "k") +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 -nmap("", ":resize -2") -nmap("", ":resize +2") -nmap("", ":vert resize -5") -nmap("", ":vert resize +5") +vim.keymap.set("n", "", ":resize -2") +vim.keymap.set("n", "", ":resize +2") +vim.keymap.set("n", "", ":vert resize -5") +vim.keymap.set("n", "", ":vert resize +5") -- Move lines easily -vmap("K", ":m '<-2gv=gv") -vmap("J", ":m '>+1gv=gv") +vim.keymap.set("v", "K", ":m '<-2gv=gv") +vim.keymap.set("v", "J", ":m '>+1gv=gv") -- Leave selection when moving code left and right -vmap("<", "", ">gv") +vim.keymap.set("v", "<", "", ">gv") -- Terminal -tmap("", "") -nmap("Th", ":split | :term") -nmap("Tv", ":vs | :term") +vim.keymap.set("t", "", "") +vim.keymap.set("n", "Th", ":split | :term") +vim.keymap.set("n", "Tv", ":vs | :term") -- Tabs -nmap("H", ":tabprev") -nmap("L", ":tabnext") -nmap("tn", ":tabnew") -nmap("tN", ":-tabnew") -nmap("tc", ":lua require('user.tabs').close_tab()") -nmap("tr", ":lua require('user.tabs').restore_tab()") -nmap("", ":-tabmove") -nmap("", ":+tabmove") +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("user.tabs").close_tab() +end) +vim.keymap.set("n", "tr", function() + require("user.tabs").restore_tab() +end) +vim.keymap.set("n", "", ":-tabmove") +vim.keymap.set("n", "", ":+tabmove") -- Nvim Tree -nmap("", ":lua require('nvim-tree').toggle(true, false)") +vim.keymap.set("n", "", function() + require("nvim-tree").toggle(true, false) +end) -- Telescope -nmap("ff", ":lua require('telescope.builtin').find_files({ hidden = true })") -nmap("fo", ":Telescope lsp_document_symbols") -nmap("p", ":Telescope") +vim.keymap.set("n", "ff", function() + require("telescope.builtin").find_files({ hidden = true }) +end) +vim.keymap.set("n", "fo", function() + require("telescope.builtin").lsp_document_symbols() +end) +vim.keymap.set("n", "p", function() + require("telescope.builtin").builtin() +end) -- LSP -nmap("gd", ":lua vim.lsp.buf.definition()") -nmap("gr", ":lua vim.lsp.buf.references()") -nmap("K", ":lua vim.lsp.buf.hover()") -nmap("", ":lua vim.lsp.buf.rename()") -nmap(".", ":lua vim.lsp.buf.code_action()") -vmap(".", ":lua vim.lsp.buf.range_code_action()") +vim.keymap.set("n", "gd", function() + vim.lsp.buf.definition() +end) +vim.keymap.set("n", "gr", function() + vim.lsp.buf.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 -nmap("dd", ':lua vim.diagnostic.open_float(nil, {focus = false, scope = "line"})') -nmap("dy", ":lua require('user.utils').copy_diagnostic_message()") -nmap("dn", ":lua vim.diagnostic.goto_next({ float = false })") -nmap("dp", ":lua vim.diagnostic.goto_prev({ float = false })") -nmap("do", ":lopen") +vim.keymap.set("n", "dd", function() + vim.diagnostic.open_float(nil, { focus = false, scope = "line" }) +end) +vim.keymap.set("n", "dy", function() + require("user.utils").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") -- Git -nmap("gg", ":G") +vim.keymap.set("n", "gg", ":G") -- Refactoring -nmap("ri", ":lua require('user.utils').lsp_organize_imports()") +vim.keymap.set("n", "ri", require("user.utils").lsp_organize_imports) diff --git a/neovim/.config/nvim/lua/user/utils.lua b/neovim/.config/nvim/lua/user/utils.lua index 74c85c7..29dffad 100644 --- a/neovim/.config/nvim/lua/user/utils.lua +++ b/neovim/.config/nvim/lua/user/utils.lua @@ -1,39 +1,5 @@ local M = {} -local function map(mode, shortcut, command, additional_opts) - local opts = { noremap = true, silent = true } - - if opts then - opts = vim.tbl_extend("force", opts, additional_opts) - end - - vim.api.nvim_set_keymap(mode, shortcut, command, opts) -end - -M.nmap = function(shortcut, command, opts) - opts = opts or {} - - map("n", shortcut, command, opts) -end - -M.vmap = function(shortcut, command, opts) - opts = opts or {} - - map("v", shortcut, command, opts) -end - -M.tmap = function(shortcut, command, opts) - opts = opts or {} - - map("t", shortcut, command, opts) -end - -M.imap = function(shortcut, command, opts) - opts = opts or {} - - map("i", shortcut, command, opts) -end - M.list_includes_item = function(list, item) for _, value in pairs(list) do if value == item then