nvim/.backup/lua/config/map.lua

141 lines
6 KiB
Lua
Raw Permalink Normal View History

2023-08-02 16:39:49 +02:00
vim.g.mapleader = " "
vim.g.maplocalleader = " "
local wk = require("which-key")
wk.register({
e = {
name = "file explorers",
e = {vim.cmd.NvimTreeOpen, "NvimTree"},
r = {vim.cmd.NERDTreeTabsOpen, "NERDTree"},
w = {vim.cmd.Ex, "netrw"},
},
t = {
name = "Tabs",
n = {vim.cmd.tabedit, "New"},
c = {vim.cmd.tabclose, "Close"},
l = {vim.cmd.tabnext, "Next"},
h = {vim.cmd.tabprevious, "Previous"},
t = {"<cmd>tabedit ", "Open File"},
},
w = {
name = "workspace",
w = {"<cmd>w<cr>", "Write"}
},
v = {
name = "LSP"
},
q = {
name = "Quit",
q = {"<cmd>q!<cr>", "Confirm"},
},
u = {"vim.cmd.UndotreeToggle", "UndoTree"},
b = {
name = "Buffer",
h = {"<Cmd>BufferPrevious<CR>", "Previous"},
l = {"<Cmd>BufferNext<CR>", "Next"},
H = {"<Cmd>BufferFirst<CR>", "First"},
L = {"<Cmd>BufferLast<CR>", "Last"},
p = {"<Cmd>BufferPin<CR>", "Pin"},
b = {"<cmd>BufferPick<cr>", "Picker"},
s = {
name = "Sort",
n = {"<Cmd>BufferOrderByBufferNumber<CR>", "By BufferNumber"},
d = {"<Cmd>BufferOrderByDirectory<CR>", "By Directory"},
l = {"<Cmd>BufferOrderByLanguage<CR>", "By Language"},
w = {"<Cmd>BufferOrderByWindowNumber<CR>", "By WindowNumber"},
},
C = {"<Cmd>BufferClose<CR>", "Close"},
c = {
c = {"<Cmd>BufferClose<CR>", "Close"},
w = {"<cmd>BufferWipeout<cr>", "Wipe"},
a = {"<cmd>BufferCloseAllButCurrent<cr>", "Close but Current"},
p = {"<cmd>BufferCloseAllButPinned<cr>", "Close but Pinned"},
},
},
f = {
name = "Telescope & fzf",
},
s = {
name = "Settings",
c = {function ()
vim.opt.scrolloff = 100
end, "Always center cursor"},
x = {function ()
vim.opt.scrolloff = 8
end, "Disable Cursor center"}
},
h = {
name = "Hop",
w = {"<cmd>HopWord<cr>", "Word"},
a = {"<cmd>HopAnywhere<cr>", "Anywhere"},
l = {"<cmd>HopLine<cr>", "Line"},
p = {"<cmd>HopPattern<cr>", "Pattern"},
c = {"<cmd>HopChar1<cr>", "Char1"},
x = {"<cmd>HopChar2<cr>", "Char2"},
},
d = {
name = "Debug"
},
r = {
name = "Rust",
},
}, {prefix = "<leader>"})
-- Buffers
vim.keymap.set("n", "<leader>b<", "<Cmd>BufferMovePrevious<CR>", { desc = "move previous" })
vim.keymap.set("n", "<leader>b>", "<Cmd>BufferMoveNext<CR>", { desc = "move next" })
vim.keymap.set("n", "<leader>bH", "<Cmd>BufferFirst<CR>", { desc = "first" })
vim.keymap.set("n", "<leader>bs1", "<Cmd>BufferGoto 1<CR>", { desc = "1" })
vim.keymap.set("n", "<leader>bs2", "<Cmd>BufferGoto 2<CR>", { desc = "2" })
vim.keymap.set("n", "<leader>bs3", "<Cmd>BufferGoto 3<CR>", { desc = "3" })
vim.keymap.set("n", "<leader>bs4", "<Cmd>BufferGoto 4<CR>", { desc = "4" })
vim.keymap.set("n", "<leader>bs5", "<Cmd>BufferGoto 5<CR>", { desc = "5" })
vim.keymap.set("n", "<leader>bs6", "<Cmd>BufferGoto 6<CR>", { desc = "6" })
vim.keymap.set("n", "<leader>bs7", "<Cmd>BufferGoto 7<CR>", { desc = "7" })
vim.keymap.set("n", "<leader>bs8", "<Cmd>BufferGoto 8<CR>", { desc = "8" })
vim.keymap.set("n", "<leader>bs9", "<Cmd>BufferGoto 9<CR>", { desc = "9" })
-- LSP
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, {buffer = bufnr, desc = "goto definition"})
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, {buffer = bufnr})
vim.keymap.set("n", "<leader>vw", function() vim.lsp.buf.workspace_symbol() end, {buffer = bufnr, desc = "workspace symbol"})
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, {buffer = bufnr, desc = "diagnostics"})
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, {buffer = bufnr, desc = "goto next"})
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, {buffer = bufnr, desc = "goto prev"})
vim.keymap.set("n", "<leader>va", function() vim.lsp.buf.code_action() end, {buffer = bufnr, desc = "code actions"})
vim.keymap.set("n", "<leader>vr", function() vim.lsp.buf.references() end, {buffer = bufnr, desc = "references"})
vim.keymap.set("n", "<leader>vn", function() vim.lsp.buf.rename() end, {buffer = bufnr, desc = "rename"})
-- vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, {buffer = bufnr})
vim.keymap.set("n", "<leader>vh", function () vim.lsp.buf.hover() end, {buffer=bufnr, desc = "show hover action"})
vim.keymap.set("i", "<C-h>", function () vim.lsp.buf.hover() end, {buffer=bufnr})
-- debug
vim.keymap.set("n", "<leader>db", function() require"dap".toggle_breakpoint() end, {desc = "toggle breapoint"})
vim.keymap.set("n", "<leader>dc", function() require("dap").continue() end, {desc = "launch or continue execution"})
vim.keymap.set("n", "<leader>dsi", function() require("dap").step_into() end, {desc = "step into"})
vim.keymap.set("n", "<leader>dso", function() require("dap").step_over() end, {desc = "step over"})
vim.keymap.set("n", "<leader>dr", function() require("dap").repl.open() end, {desc = "open repl"})
-- debug UI
vim.keymap.set("n", "<leader>dwb", function() require("dapui").float_element("breakpoints", {}) end, {desc = "open breakpoints window"})
vim.keymap.set("n", "<leader>dwc", function() require("dapui").float_element("console", {}) end, {desc = "open integrated console"})
vim.keymap.set("n", "<leader>dwr", function() require("dapui").float_element("repl", {}) end, {desc = "open repl"})
-- term
vim.keymap.set("n", "<C-\\>", vim.cmd.ToggleTerm)
vim.keymap.set("t", "<C-\\>", vim.cmd.ToggleTerm)
-- magic
vim.keymap.set("n", "<leader>s", ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>", {desc = "find and replace"})
-- center
vim.keymap.set("n", "<C-d>", "<C-d>zz")
vim.keymap.set("n", "<C-u>", "<C-u>zz")
vim.keymap.set("n", "n", "nzzzv")
vim.keymap.set("n", "N", "Nzzzv")
-- random
vim.keymap.set("v", "J", ':m ">+1<CR>gv=gv')
vim.keymap.set("v", "K", ':m "<-2<CR>gv=gv')
vim.keymap.set("i", "<C-c>", "<Esc>")