49 lines
1.5 KiB
Lua
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 = "Formate 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" })
|