Files
neovim-config/lua/taken/core/remaps.lua
2024-03-22 18:14:16 +01:00

68 lines
2.1 KiB
Lua

local M = {
v = {
["J"] = { ":m '>+1<CR>gv=gv" },
["K"] = { ":m '<-2<CR>gv=gv" },
},
n = {
["<leader>P"] = { [["+p]], desc = "Paste from sys clipboard" },
["J"] = { "mzJ`z" },
["<C-d>"] = { "<C-d>zz" },
["<C-u>"] = { "<C-u>zz" },
["n"] = { "nzzzv" },
["N"] = { "Nzzzv" },
["Q"] = { "<nop>" },
["0"] = { "^", desc = "Go to first non blank character in line" },
["<leader>0"] = { "0", desc = "Go to true line beggining" },
["<leader>q"] = { ":noh<CR>" },
-- buffer
["<leader>bf"] = { vim.lsp.buf.format, desc = "Format buffer" },
["<leader>bs"] = { ":write <CR>", desc = "Save buffer" },
["<C-k>"] = { "<cmd>cnext<CR>zz" },
["<C-j>"] = { "<cmd>cprev<CR>zz" },
["<leader>k"] = { "<cmd>lnext<CR>zz" },
["<leader>j"] = { "<cmd>lprev<CR>zz" },
-- window movement
["<leader>ww"] = { "<C-w>w", desc = "Move between splits" },
["<leader>wc"] = { "<C-w>c", desc = "Close split" },
["<leader>wv"] = { "<C-w>v", desc = "Vertical split" },
["<leader>ws"] = { "<C-w>s", desc = "Horizontal split" },
["<leader><leader>"] = {
function()
if vim.bo.filetype ~= "lua" then
vim.notify("Not a lua file")
return
end
vim.cmd("so")
end,
desc = "Source current file",
},
["<leader>ht"] = {
function()
require("taken.utils.themes").themeselector()
end,
desc = "Theme selector",
},
["<leader>sr"] = {
[[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]],
desc = "Replace all instances of the word on cursor",
},
-- lazy
["<leader>lu"] = { "<cmd>Lazy<CR>", desc = "Lazy UI" },
},
vn = {
["<leader>y"] = { [["+y]], desc = "Yank in to sys clipboard" },
["<leader>d"] = { [["_d]], desc = "Actually deletes text" },
},
}
require("taken.utils.maps").setmap(M)