73 lines
2.5 KiB
Lua
73 lines
2.5 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")
|
|
|
|
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", "<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>")
|
|
vim.keymap.set("n", "<leader>tr", function ()
|
|
require("nvim-tree.api").tree.change_root(vim.fn.getcwd())
|
|
end, {desc = "Change root dir to current dir"}
|
|
)
|
|
|
|
-- 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 })
|