82 lines
3.2 KiB
Lua
82 lines
3.2 KiB
Lua
local set = vim.keymap.set
|
|
|
|
set("n", "<leader><CR>", "<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" })
|
|
|
|
-- telescope
|
|
|
|
set("n", "<leader>ff", "<cmd>Telescope find_files<CR>", { desc = "Find files" })
|
|
set("n", "<leader>fg", "<cmd>Telescope live_grep<CR>", { desc = "Live grep" })
|
|
set("n", "<leader>fb", "<cmd>Telescope buffers<CR>", { desc = "Find buffers" })
|
|
set("n", "<leader>fB", "<cmd>Telescope builtin<CR>", { desc = "Find buffers" })
|
|
set("n", "<leader>fh", "<cmd>Telescope help_tags<CR>", { desc = "Help tags" })
|
|
set("n", "<leader>fp", "<cmd>Telescope project<CR>", { desc = "Find projects" })
|
|
set("n", "<leader>fd", "<cmd>Telescope file_browser<CR>", { desc = "File browser" })
|
|
set("n", "<leader>fr", "<cmd>Telescope reloader<CR>", { desc = "Reload config" })
|
|
set("n", "<leader>ht", "<cmd>Telescope colorscheme<CR>", { desc = "Colorscheme" })
|
|
set("n", "<leader>fc", "<cmd>Telescope commands<CR>", { desc = "Commands" })
|
|
|
|
-- 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" })
|
|
|
|
-- nvim-tree
|
|
set("n", "<leader>n", ":NvimTreeToggle <CR>")
|
|
set("n", "<leader>e", ":NvimTreeFocus <CR>")
|
|
set("n", "<leader>r", ":NvimTreeRefresh <CR>")
|
|
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 })
|