From 6d4208a39ba4a576c310a301eb576d84eec1ddaf Mon Sep 17 00:00:00 2001 From: Xander Swan Date: Wed, 3 Dec 2025 10:00:41 -0500 Subject: Entirely new config --- .config/nvim/lua/map.lua | 111 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 77 insertions(+), 34 deletions(-) (limited to '.config/nvim/lua/map.lua') diff --git a/.config/nvim/lua/map.lua b/.config/nvim/lua/map.lua index 3103f56..ef97bd1 100644 --- a/.config/nvim/lua/map.lua +++ b/.config/nvim/lua/map.lua @@ -1,34 +1,77 @@ -vim.keymap.set("i", "jk", "", {}) -vim.keymap.set("n", "n", [[:NvimTreeToggle]], {}) -vim.keymap.set("n", "g", [[:Git]], {}) -vim.keymap.set("n", "c", [[:noh]], {}) -vim.keymap.set("n", "e", [[:TroubleToggle]]) - -vim.keymap.set("n", "", "h", {}) -vim.keymap.set("n", "", "j", {}) -vim.keymap.set("n", "", "k", {}) -vim.keymap.set("n", "", "l", {}) - -vim.keymap.set("n", "", "u", {}) -vim.keymap.set("n", "u", "", {}) - -vim.keymap.set({ "n", "v" }, "b", "^", {}) -vim.keymap.set({ "n", "v" }, "w", "$", {}) -vim.keymap.set({ "n", "v" }, "^", "", {}) -vim.keymap.set({ "n", "v" }, "$", "", {}) - -vim.keymap.set({ "v", "n" }, ".", "zz", {}) -vim.keymap.set({ "v", "n" }, ",", "zz", {}) - -vim.keymap.set("o", "as", "a\"", {}) -vim.keymap.set("o", "is", "i\"", {}) -vim.keymap.set("o", "it", "i[", {}) -vim.keymap.set("o", "at", "a[", {}) -vim.keymap.set("o", "ic", "i<", {}) -vim.keymap.set("o", "ac", "a<", {}) - -vim.keymap.set({ "n", "v" }, "y", "\"+y", {}) -vim.keymap.set({ "n", "v" }, "v", "\"_", {}) - -vim.keymap.set("n", "", "", { noremap = true }) -vim.keymap.set("n", "", "", { noremap = true }) +vim.g.mapleader = " " + +local nv = {"n", "v"} + +local function definepairs(replacement, char) + vim.keymap.set("o", "i" .. replacement, "i" .. char, {}) + vim.keymap.set("o", "a" .. replacement, "a" .. char, {}) +end + +definepairs("b", "(") +definepairs("s", "\"") +definepairs("q", "'") +definepairs("t", "{") +definepairs("r", "[") +definepairs("a", "<") + +vim.keymap.set(nv, "gm", "gM", {}) +vim.keymap.set(nv, "gM", "gMi", {}) + +-- Moving between windows +vim.keymap.set(nv, "", "h", {}) +vim.keymap.set(nv, "", "j", {}) +vim.keymap.set(nv, "", "k", {}) +vim.keymap.set(nv, "", "l", {}) + +-- Same, but for terminal +vim.keymap.set("t", "", "h", {}) +vim.keymap.set("t", "", "j", {}) +vim.keymap.set("t", "", "k", {}) +vim.keymap.set("t", "", "l", {}) + +-- Moving windows +vim.keymap.set(nv, "h", "H", {}) +vim.keymap.set(nv, "j", "J", {}) +vim.keymap.set(nv, "k", "K", {}) +vim.keymap.set(nv, "l", "L", {}) + +-- Resizing windows +vim.keymap.set(nv, "", "-", {}) +vim.keymap.set(nv, "", "+", {}) +vim.keymap.set(nv, "", "<", {}) +vim.keymap.set(nv, "", ">", {}) + +-- Make exiting insert mode in terminal mode easier +vim.keymap.set("t", "", "", {}) + +-- Center when moving around at high speeds +vim.keymap.set(nv, "", "zz", {}) +vim.keymap.set(nv, "", "zz", {}) +vim.keymap.set(nv, "G", "Gzz", {}) + +-- Delete line content. I didn't do ddO because that would extend comments if +-- you were just above one. +vim.keymap.set("n", "dc", "cc", {}) + +-- Make going to the end of a line as easy as going to the beginning +vim.keymap.set({"n", "v", "o"}, "+", "$", {}) + +-- Allow yanking to system clipboard +vim.keymap.set(nv, "y", "\"+y", {}) +vim.keymap.set(nv, "p", "\"+p", {}) + +-- Commands +vim.keymap.set(nv, "c", "noh", {silent=true}) +vim.keymap.set(nv, "e", "Ex", {silent=true}) +vim.keymap.set(nv, "t", function() + vim.cmd("split") + vim.cmd("term") +end, {silent=true}) + +-- Common typo with me +vim.api.nvim_create_user_command("W", "w", {bang=true}) +vim.api.nvim_create_user_command("Wa", "wa", {bang=true}) +vim.api.nvim_create_user_command("Wq", "wq", {bang=true}) +vim.api.nvim_create_user_command("Wqa", "wqa", {bang=true}) +vim.api.nvim_create_user_command("Q", "q", {bang=true}) +vim.api.nvim_create_user_command("Qa", "qa", {bang=true}) -- cgit v1.3-2-g0d8e