local tb = require("telescope.builtin") vim.g.mapleader = " " -- find Files vim.keymap.set("n", "f", tb.find_files, {}) -- find Text vim.keymap.set("n", "t", tb.live_grep, {}) -- find Buffers vim.keymap.set("n", "b", tb.buffers, {}) -- find keyMaps vim.keymap.set("n", "m", tb.keymaps, {}) -- find Command vim.keymap.set("n", "c", tb.commands, {}) -- find Documentation vim.keymap.set("n", "d", tb.man_pages, {}) -- open tree vim.keymap.set({ "i", "n" }, "", vim.cmd.NvimTreeFocus, {}) -- move and copy lines vim.keymap.set({ "i", "n" }, "", function() vim.api.nvim_feedkeys("ddkP", "x", false) end, {}) vim.keymap.set({ "i", "n" }, "", function() vim.api.nvim_feedkeys("ddp", "x", false) end, {}) vim.keymap.set({ "i", "n" }, "", function() vim.api.nvim_feedkeys("yyP", "x", false) end, {}) vim.keymap.set({ "i", "n" }, "", function() vim.api.nvim_feedkeys("yyp", "x", false) end, {}) -- on in normal, insert and start autoComp vim.keymap.set("n", "", function() vim.api.nvim_feedkeys("i", "m", false) local key1 = vim.api.nvim_replace_termcodes("", true, false, true) vim.api.nvim_feedkeys(key1, "m", false) end, {}) -- toggle function signature vim.keymap.set("i", "", function() require("lsp_signature").toggle_float_win() end, {}) -- format and vplit remaps vim.keymap.set({ "n", "i" }, "", vim.cmd.Format, {}) vim.keymap.set({ "i", "n" }, "", vim.cmd.vsplit, {}) -- vscode fold and unfold vim.keymap.set("n", "", "zc", {}) vim.keymap.set("n", "", "zo", {}) -- clangd switch source/header vim.keymap.set({ "n" }, "o", vim.cmd.ClangdSwitchSourceHeader, { silent = true }) -- goto mappings vim.keymap.set("n", "gd", vim.lsp.buf.definition, {}) vim.keymap.set("n", "gD", vim.lsp.buf.declaration, {}) vim.keymap.set("n", "gi", vim.lsp.buf.implementation, {}) vim.keymap.set("n", "", vim.lsp.buf.code_action, {}) -- copy and paste vim.keymap.set("v", "", '"+y', {}) vim.keymap.set("n", "", '"+yy', {}) vim.keymap.set("v", "", '"+p', {}) vim.keymap.set("n", "", '"+p', {}) -- lsp rename vim.keymap.set("n", "", vim.lsp.buf.rename, {}) vim.keymap.set({ "n", "v" }, ";", ":") vim.keymap.set("n", "/", ":call eregex#toggle()", { noremap = true, }) vim.keymap.set("n", "w", ":SudaWrite", { noremap = true, }) vim.keymap.set("n", "h", ":%S/", { noremap = true, })