vim.g.mapleader = " " vim.keymap.set("n", "e", ":Oil") vim.keymap.set("i", "", "") -- Keep things centered vim.keymap.set("n", "n", "nzz") vim.keymap.set("n", "N", "Nzz") vim.keymap.set("n", "", "zz") vim.keymap.set("n", "", "zz") vim.keymap.set("n", "", "cnextzz") vim.keymap.set("n", "", "cprevzz") -- Copy to system clipboard vim.keymap.set({ "n", "v" }, "y", [["+y]]) -- Escape terminal mode vim.keymap.set("t", "", "") -- Toggle hlsearch if it's on, otherwise just do "enter" vim.keymap.set("n", "", function() ---@diagnostic disable-next-line: undefined-field if vim.v.hlsearch == 1 then vim.cmd.nohl() return "" else return vim.keycode "" end end, { expr = true }) vim.keymap.set("n", "bd", "bd") -- Thanks to Mr. Primeagen vim.keymap.set({ "n", "v" }, "", "silent !tmux neww tmux-sessionizer") vim.keymap.set("n", "s", [[:%s/\<\>//gI]]) vim.keymap.set("v", "J", ":m '>+1gv=gv") vim.keymap.set("v", "K", ":m '<-2gv=gv") -- Move between windows with actual arrow keys vim.keymap.set("n", "", "h") vim.keymap.set("n", "", "j") vim.keymap.set("n", "", "k") vim.keymap.set("n", "", "l") -- Duplicate line vim.keymap.set("n", "d", "mzyyp`zj") -- Open a new terminal pane vim.keymap.set("n", "t", "botright terminal") -- Focus the terminal pane vim.keymap.set("n", "f", function() local bufnr = vim.fn.bufnr("#") vim.api.nvim_set_current_buf(bufnr) end)