vim.g.mapleader = " " --Telescope keys -- local builtin = require('telescope.builtin') -- vim.keymap.set('n', 'ps', function() -- builtin.grep_string({ search = vim.fn.input("Grep > ") }) -- end) -- vim.keymap.set('n', 'pf', builtin.find_files, {}) -- vim.keymap.set("n", "pv", vim.cmd.Ex) -- vim.keymap.set('n', "ps", builtin.live_grep,{}) -- vim.keymap.set('n', "pb", builtin.buffers,{}) -- vim.keymap.set('n', 'ff', 'Telescope find_files search_dirs=[".","D:/Optics/CODEV/Macros","C:/CODEV202403/macro","C:/CODEV202403/lens"] theme=dropdown') vim.keymap.set('n', 'ff', "Telescope find_files theme=dropdown") vim.keymap.set('n', 'fm', "Telescope find_files cwd=D:/Optics/CODEV/Macros theme=dropdown") vim.keymap.set('n', 'fc', "Telescope find_files cwd=C:/CODEV202403/macro theme=dropdown") vim.keymap.set('n', 'fl', "Telescope find_files cwd=C:/CODEV202403/lens theme=dropdown") vim.keymap.set("n", "pp", "Telescope file_browser theme=dropdown") vim.keymap.set("n", "pm", "Telescope file_browser cwd=D:/Optics/CODEV/Macros theme=dropdown") vim.keymap.set("n", "pc", "Telescope file_browser cwd=C:/CODEV202403/macro theme=dropdown") vim.keymap.set("n", "pl", "Telescope file_browser cwd=C:/CODEV202403/lens theme=dropdown") vim.keymap.set('n', "gg", "Telescope live_grep theme=dropdown") vim.keymap.set('n', "gm", "Telescope live_grep cwd=D:/Optics/CODEV/Macros theme=dropdown") vim.keymap.set('n', "gc", "Telescope live_grep cwd=C:/CODEV202403/macro theme=dropdown") vim.keymap.set('n', "gl", "Telescope live_grep cwd=C:/CODEV202403/lens theme=dropdown") vim.keymap.set('n', "b", "Telescope buffers theme=dropdown") vim.keymap.set('n', 'u', vim.cmd.UndotreeToggle) vim.keymap.set('n', 'G', vim.cmd.Git) -- Language Server Keybindings local lsp_zero = require('lsp-zero') lsp_zero.on_attach(function(client, bufnr) local opts = {buffer = bufnr, remap = false} vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts) vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, opts) vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts) vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts) vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, opts) vim.keymap.set("n", "vrr", function() vim.lsp.buf.references() end, opts) vim.keymap.set("n", "vrn", function() vim.lsp.buf.rename() end, opts) vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) end) require('mason').setup({}) require('mason-lspconfig').setup({ ensure_installed = {'tsserver', 'rust_analyzer'}, handlers = { lsp_zero.default_setup, lua_ls = function() local lua_opts = lsp_zero.nvim_lua_ls() require('lspconfig').lua_ls.setup(lua_opts) end, } }) local cmp = require('cmp') local cmp_select = {behavior = cmp.SelectBehavior.Select} cmp.setup({ sources = { {name = 'path'}, {name = 'nvim_lsp'}, {name = 'nvim_lua'}, }, formatting = lsp_zero.cmp_format(), mapping = cmp.mapping.preset.insert({ [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.select_prev_item(cmp_select), [''] = cmp.mapping.select_next_item(cmp_select), [''] = cmp.mapping.confirm({ select = true }), [''] = cmp.mapping.complete(), }), }) -- General Keybindings vim.keymap.set("i", "jk", "") vim.keymap.set("n","w", "w") vim.keymap.set("n","q", "q") vim.keymap.set("n","", "bd") vim.keymap.set("i","", "bd") vim.keymap.set("n","Q", "q!") vim.keymap.set("n","o", "o") vim.keymap.set("n","O", "O") vim.keymap.set("i", "e", "e") --File Formatting vim.keymap.set("n","S", "ggVG=") -- Moving Lines around vim.keymap.set("v", "J", ":m '>+1gv=gv") vim.keymap.set("v", "K", ":m '<-2gv=gv") vim.keymap.set("n", "J", "mzJ`z") --Fast Vertical Navigation vim.keymap.set("n", "", "zz") vim.keymap.set("n", "", "zz") -- Search terms stay in the middle vim.keymap.set("n", "n", "nzzzv") vim.keymap.set("n", "N", "Nzzzv") -- pasting something instead of current text vim.keymap.set("x", "p", [["_dP]]) -- copying into system clipboard vim.keymap.set({"n", "v"}, "y", [["+y]]) vim.keymap.set("n", "Y", [["+Y]]) -- Put into Void Register vim.keymap.set({"n", "v"}, "d", [["_d]]) -- Quick Fix List Navingation --vim.keymap.set("n", "", "cnextzz") --vim.keymap.set("n", "", "cprevzz") vim.keymap.set("n", "k", "lnextzz") vim.keymap.set("n", "j", "lprevzz") -- Terminal Navigation -- vim.keymap.set("n", "tt", "ToggleTerm size=60 direction=horizontal shell=powershell") vim.keymap.set("n", "t", "ToggleTerm") -- vim.keymap.set("n", "", "ToggleTerm") -- vim.keymap.set("i", "", "ToggleTerm") -- vim.keymap.set("n", "tt", "vertical 60 vsplit | terminal pwsh.exe") -- vim.keymap.set("n", "tj", "term pwsh.exe") vim.keymap.set("t", "jk", [[]]) vim.keymap.set("t", "", [[h]]) vim.keymap.set("t", "", [[j]]) vim.keymap.set("t", "", [[k]]) vim.keymap.set("t", "", [[l]]) --Sending lines and file to the internal terminal I had before to make the cursor move to the previous position but this doesnt seem to be a good option vim.keymap.set({"n", "i"},"", "ToggleTermSendCurrentLinej") vim.keymap.set("n","", "ggVG:'<,'>ToggleTermSendVisualLines") vim.keymap.set("i","", "ggVG:'<,'>ToggleTermSendVisualLinesi") vim.keymap.set("v","", ":ToggleTermSendVisualLines") -- Buffer Navigation vim.keymap.set("n", "", [[h]]) vim.keymap.set("n", "", [[j]]) vim.keymap.set("n", "", [[k]]) vim.keymap.set("n", "", [[l]]) -- Undo Remapping vim.keymap.set("n", "U", "") -- Replace the Current Word everywhere vim.keymap.set("n", "s", [[:%s/\<\>//gI]]) -- Nvim-Tree -- vim.keymap.set("n", "e", "NvimTreeToggle") -- BufferLine Navigation -- vim.keymap.set("n", "", "BufferLineCycleNext") -- vim.keymap.set("n", "", "BufferLineCyclePrev") -- vim.keymap.set("n", "", "BufferLineCloseOthers") -- Treesitter Context vim.keymap.set("n", "[c", function() require("treesitter-context").go_to_context() end, { silent = true }) -- Docstring commands vim.keymap.set("n","dc",[[i"""oo#Information:oo#Arguments:oo#Returns:oo"""7k]]) --vim.keymap.set('n', '', bultin.git_files,{}) --Oil.nvim keybinds vim.keymap.set("n", "-", "Oil", { desc = "Open parent directory" }) vim.keymap.set("n","m","silent make")