-- General vim.g.mapleader = " " -- Buffer functions vim.api.nvim_set_keymap("n", "bd", ":b#|bd#", { noremap = true, silent = true }) -- Close buffer vim.api.nvim_set_keymap("n", "bn", ":bn", { noremap = true, silent = true }) -- Next buffer vim.api.nvim_set_keymap("n", "bp", ":bp", { noremap = true, silent = true }) -- Previous buffer -- Window Functions using Leader W J/K/H/L vim.api.nvim_set_keymap("n", "wj", "j", { noremap = true, silent = true }) -- Move to bottom window vim.api.nvim_set_keymap("n", "wk", "k", { noremap = true, silent = true }) -- Move to top window vim.api.nvim_set_keymap("n", "wh", "h", { noremap = true, silent = true }) -- Move to left window vim.api.nvim_set_keymap("n", "wl", "l", { noremap = true, silent = true }) -- Move to right window vim.api.nvim_set_keymap("n", "`", ":b#", { noremap = true, silent = true }) -- Switch to last window vim.api.nvim_set_keymap("n", "wc", "q", { noremap = true, silent = true }) -- Close Window vim.api.nvim_set_keymap("n", "wp", "p", { noremap = true, silent = true }) -- Move to previous window -- Navigate to window using Leader w {number} vim.api.nvim_set_keymap("n", "w1", "1", { noremap = true, silent = true }) -- Move to window 1 vim.api.nvim_set_keymap("n", "w2", "2", { noremap = true, silent = true }) -- Move to window 2 vim.api.nvim_set_keymap("n", "w3", "3", { noremap = true, silent = true }) -- Move to window 3 vim.api.nvim_set_keymap("n", "w4", "4", { noremap = true, silent = true }) -- Move to window 4 vim.api.nvim_set_keymap("n", "w5", "5", { noremap = true, silent = true }) -- Move to window 5 vim.api.nvim_set_keymap("n", "w6", "6", { noremap = true, silent = true }) -- Move to window 6 vim.api.nvim_set_keymap("n", "w7", "7", { noremap = true, silent = true }) -- Move to window 7 vim.api.nvim_set_keymap("n", "w8", "8", { noremap = true, silent = true }) -- Move to window 8 vim.api.nvim_set_keymap("n", "w9", "9", { noremap = true, silent = true }) -- Move to window 9 -- Windows Move using Leader W J/K/H/L vim.api.nvim_set_keymap("n", "Wj", "J", { noremap = true, silent = true }) -- Move to bottom window vim.api.nvim_set_keymap("n", "Wk", "K", { noremap = true, silent = true }) -- Move to top window vim.api.nvim_set_keymap("n", "Wh", "H", { noremap = true, silent = true }) -- Move to left window vim.api.nvim_set_keymap("n", "Wl", "L", { noremap = true, silent = true }) -- Move to right window -- Window Splits vim.api.nvim_set_keymap("n", "wv", ":vsplit", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "ws", ":split", { noremap = true, silent = true }) -- Tabs vim.api.nvim_set_keymap("n", "n", ":tabnew", { noremap = true, silent = true }) -- Neogit vim.api.nvim_set_keymap("n", "gg", "Neogit", { noremap = true, silent = true }) -- nvim-tree local function nvim_tree_attach(bufnr) local api = require "nvim-tree.api" local function opts(desc) return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true } end -- default mappings api.config.mappings.default_on_attach(bufnr) -- custom mappings vim.keymap.set('n', '', api.tree.change_root_to_parent, opts('Up')) vim.keymap.set('n', '?', api.tree.toggle_help, opts('Help')) end vim.api.nvim_set_keymap("n", "", ":NvimTreeToggle", { noremap = true, silent = true }) -- goto vim.keymap.set("n", "gp", "lua require('goto-preview').goto_preview_definition()", {noremap=true}) -- telescope vim.api.nvim_set_keymap("n", "ff", "Telescope find_files", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", ".", "Telescope find_files", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "fr", "Telescope oldfiles", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "fg", "Telescope git_files", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "f/", "Telescope live_grep", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "fb", "Telescope file_browser", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "fs", "Telescope lsp_document_symbols", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "fe", "Telescope lsp_references", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "fd", "Telescope lsp_definitions", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", ",", "Telescope buffers", { noremap = true, silent = true }) -- aerial vim.api.nvim_set_keymap("n", "aa", "AerialToggle", { noremap = true, silent = true }) -- trouble vim.api.nvim_set_keymap("n", "tt", "TroubleToggle", { noremap = true, silent = true }) -- todo vim.api.nvim_set_keymap("n", "tf", "TodoTelescope", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "tl", "TodoTrouble", { noremap = true, silent = true }) -- auto session vim.api.nvim_set_keymap("n", "ss", "SessionSave", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "sr", "SessionRestore", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "sd", "SessionDelete", { noremap = true, silent = true }) -- terminal vim.api.nvim_set_keymap("n", "tn", "ToggleTerm direction=horizontal size=15", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "tv", "ToggleTerm direction=vertical size=70", { noremap = true, silent = true }) function _G.set_terminal_keymaps() local opts = {buffer = 0} vim.keymap.set('t', '', [[]], opts) -- Exit to normal mode vim.keymap.set('t', 'jk', [[]], opts) vim.keymap.set('t', '', [[wincmd h]], opts) vim.keymap.set('t', '', [[wincmd j]], opts) vim.keymap.set('t', '', [[wincmd k]], opts) vim.keymap.set('t', '', [[wincmd l]], opts) vim.keymap.set('t', '', [[]], opts) end vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()') -- oil vim.keymap.set("n", "-", "Oil", { desc = "Open parent directory" }) -- maximize.nvim vim.keymap.set('n', 'z', "lua require('maximize').toggle()")