Files
neovim-config/lua/taken/remaps.lua
2023-06-26 11:32:25 +02:00

71 lines
2.4 KiB
Lua

local set = vim.keymap.set
set("n", ":", "<cmd>FineCmdline<CR>", { noremap = true })
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")
-- greatest remap ever
-- set("x", "<leader>p", [["_dP]])
-- next greatest remap ever : asbjornHaland
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>")
set("n", "<leader>bf", vim.lsp.buf.format, { desc = "Formate buffer" })
set("n", "<leader>bs", ":write <CR>", { desc = "Save buffer" })
set("n", "<leader>bt", ":ToggleTerm direction=float <CR>", { desc = "Open terminal" })
set("n", "<leader>bT", ":ToggleTerm direction=horizontal <CR>", { desc = "Open horizontal terminal split" })
set("n", "<leader><Tab>", ":BufferLineCycleNext <CR>", { desc = "Cycle tabs" })
set("n", "<leader>bn", ":BufferLineCycleNext <CR>", { desc = "Next tab" })
set("n", "<leader>bp", ":BufferLineCyclePrev <CR>", { desc = "NextPrevious tab" })
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" })
-- 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" })
-- Packer
set("n", "<leader>pu", ":PackerUpdate <CR>")
set("n", "<leader>ps", ":PackerSync <CR>")
set("n", "<leader>pc", ":PackerClean <CR>")
set("n", "<leader>po", ":PackerCompile <CR>")
-- nvim-tree
set("n", "<leader>n", ":NvimTreeToggle <CR>")
set("n", "<leader>e", ":NvimTreeFocus <CR>")
set("n", "<leader>r", ":NvimTreeRefresh <CR>")
-- trouble
set("n", "<leader>tt", "<cmd>TroubleToggle <CR>", { silent = true })
-- markdown preview
set("n", "<leader>bm", "<cmd>MarkdownPreviewToggle <CR>", { silent = true })
-- neogit
set("n", "<leader>gg", "<cmd>Neogit <CR>", { silent = true })