-- Keymaps are automatically loaded on the VeryLazy event -- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua -- Add any additional keymaps here rawset(_G, "vim", vim or {}) vim.keymap.set("n", "j", ":b#", { desc = "Toggle between buffers", noremap = true, silent = true }) vim.keymap.set("n", ";;", "A;", { desc = "Add semicolon to the end of the line", noremap = true, silent = true }) vim.keymap.set("n", ",,", "A,", { desc = "Add comma to the end of the line", noremap = true, silent = true }) -- stylua: ignore vim.keymap.set("v", "y", "myy`y", { desc = "Maintain the cursor position when yanking a visual selection", noremap = true, silent = true }) vim.keymap.set("n", "+", "", { desc = "Increment", noremap = true, silent = true }) vim.keymap.set("n", "-", "", { desc = "Decrement", noremap = true, silent = true }) vim.keymap.set("n", "bx", ":bufdo bdelete", { desc = "Delete all buffers", noremap = true, silent = true }) vim.keymap.set("n", "bsd", "%bd|e#|bd#|'", { desc = "Delete surrounding buffers" }) vim.keymap.set("n", "ut", ":set list!", { desc = "Toggle list", noremap = true, silent = true }) vim.keymap.set("n", "Y", "yg$", { desc = "Copy to the end of the line", noremap = true, silent = true }) -- stylua: ignore vim.keymap.set("n", "n", "nzzzv", { desc = "Keep the window centered (next search result)", noremap = true, silent = true }) -- stylua: ignore vim.keymap.set("n", "N", "Nzzzv", { desc = "Keep the window centered (previous search result)", noremap = true, silent = true }) -- stylua: ignore vim.keymap.set("n", " j", "(v:count == 0 ? 'gj' : 'j')", { desc = "Move by rows in wrapped mode (down)", noremap = true, silent = true }) -- stylua: ignore vim.keymap.set("n", " k", "(v:count == 0 ? 'gk' : 'k')", { desc = "Move by rows in wrapped mode (up)", noremap = true, silent = true }) vim.keymap.set("n", "gP", "`[v`]", { desc = "Visually select of just pasted content", noremap = true, silent = true }) vim.keymap.set("n", "gy", "`[v`]y", { desc = "Visually select of just pasted content", noremap = true, silent = true }) -- stylua: ignore vim.keymap.set("n", "wi", ":silent !open -a iA\\ Writer.app '%:p'", { desc = "Open in iA Writer", noremap = true, silent = true }) vim.keymap.set("n", "-", "foldclose", { desc = "Close code fold" }) vim.keymap.set("n", "+", "foldopen", { desc = "Open code fold" }) vim.keymap.set("n", "", function() require("smart-splits").move_cursor_left() end) vim.keymap.set("n", "", function() require("smart-splits").move_cursor_down() end) vim.keymap.set("n", "", function() require("smart-splits").move_cursor_up() end) vim.keymap.set("n", "", function() require("smart-splits").move_cursor_right() end) vim.keymap.set("n", "[b", "bprevious", { desc = "Prev buffer" }) vim.keymap.set("n", "]b", "bnext", { desc = "Next buffer" }) -- Visual Mode vim.keymap.set("v", "<", "", ">gv", { desc = "Stay in indent mode (right)", noremap = true, silent = true })