local vscode = require('vscode-neovim') local set = vim.keymap.set function loadInNeovim(mode, mapping, command, desc) if desc == nil then set(mode, mapping, command) else set(mode, mapping, command, desc) end end function loadInVscode(mode, mapping, command, desc) if desc == nil then vscode.map(mode, mapping, command) else vscode.map(mode, mapping, command, desc) end end set("v", "J", ":m '>+1gv=gv") set("v", "K", ":m '<-2gv=gv") set("n", "J", "mzJ`z") set("n", "", "zz") set("n", "", "zz") set("n", "n", "nzzzv") set("n", "N", "Nzzzv") set({ "n", "v" }, "y", [["+y]], { desc = "Yank in to sys clipboard" }) set("n", "P", [["+p]], { desc = "Paste from sys clipboard" }) set({ "n", "v" }, "d", [["_d]], { desc = "Actually deletes text" }) set("n", "Q", "") -- buffer set("n", "bf", vim.lsp.buf.format, { desc = "Format buffer" }) set("n", "bs", ":write ", { desc = "Save buffer" }) set("n", "", "cnextzz") set("n", "", "cprevzz") set("n", "k", "lnextzz") set("n", "j", "lprevzz") set( "n", "s", [[:%s/\<\>//gI]], { desc = "Replace all instances of the word on cursor" } ) set("n", "", function() vim.cmd("so") end, { desc = "Source current file" }) set("n", "ht", function() require("taken.functions.themes").themeselector() end, { desc = "Theme selector" }) -- window movement set("n", "ww", "w", { desc = "Move between splits" }) set("n", "wc", "c", { desc = "Close split" }) set("n", "wv", "v", { desc = "Vertical split" }) set("n", "ws", "s", { desc = "Horizontal split" }) -- lazy set("n", "lu", "Lazy", { desc = "Lazy UI" })