local set = vim.keymap.set -- Leader key vim.g.mapleader = " " -- Open file explorer set("n", "e", ":Oil") -- Use same behavior for as set("i", "", "") -- Keep things centered set("n", "", "zz") set("n", "", "zz") set("n", "", "cnextzz") set("n", "", "cprevzz") -- Copy to system clipboard set({ "n", "v" }, "y", [["+y]]) -- Escape terminal mode set("t", "", "") -- Delete buffer set("n", "bd", "bd") -- Thanks to Mr. Primeagen set({ "n", "v" }, "", "silent !tmux neww tmux-sessionizer") -- Replace all occurences of word set("n", "s", [[:%s/\<\>//gI]]) -- Move lines around in visual mode set("v", "J", ":m '>+1gv=gv") set("v", "K", ":m '<-2gv=gv") -- Move between windows with actual arrow keys set("n", "", "h") set("n", "", "j") set("n", "", "k") set("n", "", "l") -- Duplicate line set("n", "dl", "mzyyp`zj") -- Add all diagnostics to quickfix list set("n", "xx", function() vim.diagnostic.setqflist({ open = true }) end) -- Start merge conflict resolution set("n", "gm", ":Git mergetool:only") -- Toggle vimdiff for side-by-side comparison set("n", "dd", ":if &diff | diffoff | only | else | Gvdiffsplit! | endif") -- Git conflict resolution (choose local/incoming/both) set("n", "dl", 'j?HEAD"_dd/\\V======V/\\V>>>>>>"_dk') set("n", "di", 'j?HEADV/\\V======"_d/\\V>>>>>>"_ddk') set("n", "db", 'j?HEAD"_dd/\\V======"_dd/\\V>>>>>>"_dd2k')