nvim/lua/config/keymap.lua

160 lines
6.6 KiB
Lua
Raw Permalink Normal View History

2023-08-02 16:39:49 +02:00
local wk = require("which-key")
local keys = {
e = {
name = "Toggle",
e = {"<cmd>NeoTreeFloatToggle<CR>", "NeoTree"},
w = {vim.cmd.Ex, "netrw"},
2024-04-18 19:17:22 +02:00
s = {"<cmd>NeoTreeShowToggle<CR>", "neotree sidebar"},
2023-08-02 16:39:49 +02:00
g = {"<cmd>NeoTreeFloatToggle git_status<CR>", "Git Status"},
2024-04-18 19:17:22 +02:00
-- b = {"<cmd>NeoTreeFloatToggle buffers<CR>", "Buffers"},
2023-08-02 16:39:49 +02:00
c = {"<cmd>NeoTreeClose<CR>" , "Close"},
u = {vim.cmd.UndotreeToggle, "UndoTree"},
},
c = {
name = "LSP",
2024-04-18 19:17:22 +02:00
f = {function () vim.lsp.buf.format() end, "Format"},
2023-08-02 16:39:49 +02:00
w = {function () vim.lsp.buf.workspace_symbol("") end, "workspace symbol"},
d = {function () vim.diagnostic.open_float() end, "diagnostic"},
a = {function () vim.lsp.buf.code_action() end, "code actions"},
R = {function () vim.lsp.buf.references() end, "references"},
r = {function () vim.lsp.buf.rename() end, "rename"},
h = {function () vim.lsp.buf.hover() end, "Hover"},
t = {function () vim.lsp.buf.type_definition() end,"Type Definition"},
s = {"<cmd>Navbuddy<cr>", "Navbuddy"},
2023-09-19 18:57:21 +02:00
S = {require("telescope.builtin").lsp_document_symbols, "Document Symbols"},
2023-09-19 15:28:44 +02:00
l = {
2023-08-02 16:39:49 +02:00
name = "LSP",
k = {"<cmd>LspStop<cr>", "Stop"},
s = {"<cmd>LspStart<cr>", "Start"},
r = {"<cmd>LspRestart<cr>", "Restart"},
},
},
b = {
name = "Buffer",
h = {vim.cmd.bprevious, "Previous"},
l = {vim.cmd.bnext, "Next"},
H = {vim.cmd.bfirst, "First"},
L = {vim.cmd.blast, "Last"},
b = {require("telescope.builtin").buffers, "Picker"},
c = {"<cmd>:bp | sp | bn | bd<cr>", "Close"},
2024-04-18 19:17:22 +02:00
C = {"<cmd>:bp | sp | bn | bd!<cr>", "Close Force"},
d = {function() vim.cmd("bd") end, "Delete buffer"},
D = {function() vim.cmd("bd!") end, "Delete buffer Force"},
o = {function() vim.cmd("BDelete other") end, "Delete other buffers"},
m = {function() vim.cmd("BDelete select") end, "Select buffer to delete"},
2023-08-02 16:39:49 +02:00
},
f = {
name = "Telescope & fzf",
c = {require("telescope.builtin").colorscheme, "Find Colorscheme"},
d = {require("telescope.builtin").diagnostics, "Find Diagnostics"},
w = {require("telescope.builtin").grep_string, "Find current Word"},
f = {require("telescope.builtin").find_files, "telescope find files"},
g = {require("telescope.builtin").live_grep, "live grep"},
b = {require("telescope.builtin").buffers, "buffers"},
h = {require("telescope.builtin").help_tags, "help tags"},
s = {function () require("telescope.builtin").grep_string({ search = vim.fn.input("Grep > ")}); end, "grep search through files"},
2023-09-23 23:53:31 +02:00
m = {"<cmd>Maket<cr>", "Make"},
2023-08-02 16:39:49 +02:00
},
s = {
name = "Settings",
c = {function ()
vim.opt.scrolloff = 100
end, "Always center cursor"},
2023-09-19 18:57:21 +02:00
C = {function ()
2023-08-02 16:39:49 +02:00
vim.opt.scrolloff = 8
end, "Disable Cursor center"},
f = {function ()
vim.opt.nu = true
vim.opt.relativenumber = true
end, "Fix number and relative numbers"},
},
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"},
h = {vim.cmd.HopChar2, "Hop"},
},
d = {
name = "Debug",
b = {function () require("dap").toggle_breakpoint() end, "toggle breakpoint"},
c = {function () require("dap").continue() end, "launch or continue execution"},
s = {function () require("dap").step_into() end, "step into"},
o = {function () require("dap").step_over() end, "step over"},
r = {function () require("dap").repl.open() end, "open repl"},
w = {"<cmd>DapUIFloat<cr>", "DapUI"},
},
w = {
name = "workspace",
a = {vim.lsp.buf.add_workspace_folder, "add folder"},
r = {vim.lsp.buf.remove_workspace_folder, "remove folder"},
l = {function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, "list folders"},
},
q = {
name = "Quick nav",
q = {require("harpoon.ui").toggle_quick_menu, "Menu"},
2024-04-18 19:17:22 +02:00
a = {function () require("harpoon"):list():append() end, "Add file"},
r = {function () require("harpoon"):list():remove() end, "Remove File"},
2023-08-02 16:39:49 +02:00
},
}
wk.register(keys, {prefix = "<leader>"})
wk.register(keys, {prefix = "<C-Space>"})
wk.register(keys, {prefix = "<C-Space>", mode = "i"})
wk.register(keys, {prefix = "<C-Space>", mode = "v"})
-- LSP
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, {desc = "goto definition"})
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, {})
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, {desc = "goto next"})
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, {desc = "goto prev"})
vim.keymap.set("i", "<C-s>", function() vim.lsp.buf.signature_help() end)
vim.keymap.set("i", "<C-h>", function () vim.lsp.buf.hover() end, {})
-- term
vim.keymap.set("n", "<C-\\>", vim.cmd.ToggleTerm)
vim.keymap.set("t", "<C-\\>", vim.cmd.ToggleTerm)
2023-09-19 18:57:21 +02:00
vim.keymap.set("v", "<C-\\>", vim.cmd.ToggleTerm)
2023-08-02 16:39:49 +02:00
-- 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")
-- visual move
vim.keymap.set("x", "K", ":move '<-2<CR>gv=gv")
vim.keymap.set("x", "J", ":move '>+1<CR>gv=gv")
-- me lazy
vim.keymap.set("i", "<C-c>", "<Esc>")
-- non char keybinds
vim.keymap.set("n", "<leader>f/", function ()
require("telescope.builtin").current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
winblend = 10,
previewer = false,
})
end, {desc = "fuzzy find"})
vim.keymap.set('n', '<leader>f?', require('telescope.builtin').oldfiles, { desc = 'Find recently opened files' })
vim.keymap.set("i", "<C-Space>f/", function ()
require("telescope.builtin").current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
winblend = 10,
previewer = false,
})
end, {desc = "fuzzy find"})
vim.keymap.set('i', '<C-Space>f?', require('telescope.builtin').oldfiles, { desc = 'Find recently opened files' })
for i = 9, 1, -1 do
2024-04-18 19:17:22 +02:00
vim.keymap.set("n", "<M-" .. i .. ">", function() require("harpoon"):list():select(i) end, {desc = ""})
vim.keymap.set("i", "<M-" .. i .. ">", function() require("harpoon"):list():select(i) end, {desc = ""})
vim.keymap.set("v", "<M-" .. i .. ">", function() require("harpoon"):list():select(i) end, {desc = ""})
2023-08-02 16:39:49 +02:00
end