-- mappings, including plugins local function map(m, k, v) vim.keymap.set(m, k, v, { noremap = true, silent = true }) end -- set leader map("", "", "") vim.g.mapleader = " " vim.g.maplocalleader = " " -- buffers map("n", "", ":bnext") map("n", "", ":bprevious") map("n", "q", ":BufferClose") map("n", "Q", ":BufferClose!") map("n", "U", "::bufdo bd") --close all map('n', 'vs', ':vsplit:bnext') --ver split + open next buffer -- buffer position nav + reorder map('n', '', 'BufferMovePrevious') map('n', '', 'BufferMoveNext') map('n', '', 'BufferGoto 1') map('n', '', 'BufferGoto 2') map('n', '', 'BufferGoto 3') map('n', '', 'BufferGoto 4') map('n', '', 'BufferGoto 5') map('n', '', 'BufferGoto 6') map('n', '', 'BufferGoto 7') map('n', '', 'BufferGoto 8') map('n', '', 'BufferGoto 9') map('n', '', 'BufferLast') map('n', '', 'BufferPin') -- windows - ctrl nav, fn resize map("n", "", "h") map("n", "", "j") map("n", "", "k") map("n", "", "l") map("n", "", ":resize +2") map("n", "", ":resize -2") map("n", "", ":vertical resize +2") map("n", "", ":vertical resize -2") -- fzf and grep map("n", "f", ":lua require('fzf-lua').files()") --search cwd map("n", "Fh", ":lua require('fzf-lua').files({ cwd = '~/' })") --search home map("n", "Fc", ":lua require('fzf-lua').files({ cwd = '~/.config' })") --search .config map("n", "Fl", ":lua require('fzf-lua').files({ cwd = '~/.local/src' })") --search .local/src map("n", "Ff", ":lua require('fzf-lua').files({ cwd = '..' })") --search above map("n", "Fr", ":lua require('fzf-lua').resume()") --last search map("n", "g", ":lua require('fzf-lua').grep()") --grep map("n", "G", ":lua require('fzf-lua').grep_cword()") --grep word under cursor -- misc map("n", "s", ":%s//g") --replace all map("n", "t", ":NvimTreeToggle") --open file explorer map("n", "p", switch_theme) --cycle themes map("n", "P", ":PlugInstall") --vim-plug map('n', 'z', ":lua require('FTerm').open()") --open term map('t', '', 'lua require("FTerm").close()') --preserves session map("n", "w", ":w") --write but one less key map("n", "d", ":w ") --duplicate to new name map("n", "x", "!chmod +x %") --make a file executable map("n", "mv", ":!mv % ") --move a file to a new dir map("n", "R", ":so %") --reload neovim config map("n", "u", ':silent !xdg-open "" &') --open a url under cursor map("v", "i", "=gv") --auto indent map("n", "W", ":set wrap!") --toggle wrap map("n", "l", ":Twilight") --surrounding dim -- decisive csv map("n", "csa", ":lua require('decisive').align_csv({})") map("n", "csA", ":lua require('decisive').align_csv_clear({})") map("n", "[c", ":lua require('decisive').align_csv_prev_col()") map("n", "]c", ":lua require('decisive').align_csv_next_col()") map("n", "H", function() --toggle htop in term _G.htop:toggle() end) map("n", "ma", function() --quick make in dir of buffer local bufdir = vim.fn.expand("%:p:h") vim.cmd("lcd " .. bufdir) vim.cmd("!sudo make uninstall && sudo make clean install %") end) map("n", "nn", function() --toggle relative vs absolute line numbers if vim.wo.relativenumber then vim.wo.relativenumber = false vim.wo.number = true else vim.wo.relativenumber = true end end)