Files
neovim-config/lua/taken/core/remaps.lua
2023-09-22 19:32:38 +02:00

49 lines
1.5 KiB
Lua

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