diff options
author | admin <contact@optics-design.com> | 2025-05-11 00:43:32 +0200 |
---|---|---|
committer | admin <contact@optics-design.com> | 2025-05-11 00:43:32 +0200 |
commit | 102f9a5608cbb7b5553cd0d1862b6bd8e40c8075 (patch) | |
tree | f6ae6dbbf3c9b60e34bb0e24dca20008c704f721 /nvim_old/lua/keybindings.lua | |
parent | 681468ea7f56624ca869e7ba859f4457a8412cc3 (diff) |
refractored neovim config
Diffstat (limited to 'nvim_old/lua/keybindings.lua')
-rw-r--r-- | nvim_old/lua/keybindings.lua | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/nvim_old/lua/keybindings.lua b/nvim_old/lua/keybindings.lua new file mode 100644 index 0000000..9a9d0f0 --- /dev/null +++ b/nvim_old/lua/keybindings.lua @@ -0,0 +1,162 @@ +vim.g.mapleader = " " +--Telescope keys +-- local builtin = require('telescope.builtin') +-- vim.keymap.set('n', '<leader>ps', function() +-- builtin.grep_string({ search = vim.fn.input("Grep > ") }) +-- end) + +-- vim.keymap.set('n', '<leader>pf', builtin.find_files, {}) +-- vim.keymap.set("n", "<leader>pv", vim.cmd.Ex) +-- vim.keymap.set('n', "<leader>ps", builtin.live_grep,{}) +-- vim.keymap.set('n', "<leader>pb", builtin.buffers,{}) + +-- vim.keymap.set('n', '<leader>ff', '<cmd>Telescope find_files search_dirs=[".","D:/Optics/CODEV/Macros","C:/CODEV202403/macro","C:/CODEV202403/lens"] theme=dropdown<cr>') +vim.keymap.set('n', '<leader>ff', "<cmd>Telescope find_files theme=dropdown<cr>") +vim.keymap.set('n', '<leader>fm', "<cmd>Telescope find_files cwd=D:/Optics/CODEV/Macros theme=dropdown<cr>") +vim.keymap.set('n', '<leader>fc', "<cmd>Telescope find_files cwd=C:/CODEV202403/macro theme=dropdown<cr>") +vim.keymap.set('n', '<leader>fl', "<cmd>Telescope find_files cwd=C:/CODEV202403/lens theme=dropdown<cr>") + +vim.keymap.set("n", "<leader>pp", "<cmd>Telescope file_browser theme=dropdown<cr>") +vim.keymap.set("n", "<leader>pm", "<cmd>Telescope file_browser cwd=D:/Optics/CODEV/Macros theme=dropdown<cr>") +vim.keymap.set("n", "<leader>pc", "<cmd>Telescope file_browser cwd=C:/CODEV202403/macro theme=dropdown<cr>") +vim.keymap.set("n", "<leader>pl", "<cmd>Telescope file_browser cwd=C:/CODEV202403/lens theme=dropdown<cr>") + +vim.keymap.set('n', "<leader>gg", "<cmd>Telescope live_grep theme=dropdown<cr>") +vim.keymap.set('n', "<leader>gm", "<cmd>Telescope live_grep cwd=D:/Optics/CODEV/Macros theme=dropdown<cr>") +vim.keymap.set('n', "<leader>gc", "<cmd>Telescope live_grep cwd=C:/CODEV202403/macro theme=dropdown<cr>") +vim.keymap.set('n', "<leader>gl", "<cmd>Telescope live_grep cwd=C:/CODEV202403/lens theme=dropdown<cr>") + + +vim.keymap.set('n', "<leader>b", "<cmd>Telescope buffers theme=dropdown<cr>") + +vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle) +vim.keymap.set('n', '<leader>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", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts) + vim.keymap.set("n", "<leader>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", "<leader>vca", function() vim.lsp.buf.code_action() end, opts) + vim.keymap.set("n", "<leader>vrr", function() vim.lsp.buf.references() end, opts) + vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts) + vim.keymap.set("i", "<C-h>", 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({ + ['<C-p>'] = cmp.mapping.scroll_docs(-4), + ['<C-n>'] = cmp.mapping.scroll_docs(4), + ['<C-k>'] = cmp.mapping.select_prev_item(cmp_select), + ['<C-j>'] = cmp.mapping.select_next_item(cmp_select), + ['<C-i>'] = cmp.mapping.confirm({ select = true }), + ['<C-Space>'] = cmp.mapping.complete(), + }), +}) +-- General Keybindings +vim.keymap.set("i", "jk", "<Esc>") +vim.keymap.set("n","<leader>w", "<cmd>w<cr>") +vim.keymap.set("n","<leader>q", "<cmd>q<cr>") +vim.keymap.set("n","<C-c>", "<cmd>bd<cr>") +vim.keymap.set("i","<C-c>", "<cmd>bd<cr>") +vim.keymap.set("n","<leader>Q", "<cmd>q!<cr>") +vim.keymap.set("n","<leader>o", "o<Esc>") +vim.keymap.set("n","<leader>O", "O<Esc>") +vim.keymap.set("i", "<leader>e", "<Space>e") +--File Formatting +vim.keymap.set("n","<leader>S", "ggVG=") +-- Moving Lines around +vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv") +vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv") +vim.keymap.set("n", "J", "mzJ`z") +--Fast Vertical Navigation +vim.keymap.set("n", "<C-d>", "<C-d>zz") +vim.keymap.set("n", "<C-u>", "<C-u>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", "<leader>p", [["_dP]]) +-- copying into system clipboard +vim.keymap.set({"n", "v"}, "<leader>y", [["+y]]) +vim.keymap.set("n", "<leader>Y", [["+Y]]) +-- Put into Void Register +vim.keymap.set({"n", "v"}, "<leader>d", [["_d]]) +-- Quick Fix List Navingation +--vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz") +--vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz") +vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz") +vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz") +-- Terminal Navigation +-- vim.keymap.set("n", "<leader>tt", "<cmd>ToggleTerm size=60 direction=horizontal shell=powershell<cr>") +vim.keymap.set("n", "<leader>t", "<cmd>ToggleTerm<cr>") +-- vim.keymap.set("n", "<C-t>", "<cmd>ToggleTerm<cr>") +-- vim.keymap.set("i", "<C-t>", "<cmd>ToggleTerm<cr>") +-- vim.keymap.set("n", "<leader>tt", "<cmd>vertical 60 vsplit | terminal pwsh.exe<cr>") +-- vim.keymap.set("n", "<leader>tj", "<cmd>term pwsh.exe<cr>") +vim.keymap.set("t", "jk", [[<C-\><C-n>]]) +vim.keymap.set("t", "<C-h>", [[<C-\><C-n><C-W>h]]) +vim.keymap.set("t", "<C-j>", [[<C-\><C-n><C-W>j]]) +vim.keymap.set("t", "<C-k>", [[<C-\><C-n><C-W>k]]) +vim.keymap.set("t", "<C-l>", [[<C-\><C-n><C-W>l]]) +--Sending lines and file to the internal terminal I had before <C-O> to make the cursor move to the previous position but this doesnt seem to be a good option +vim.keymap.set({"n", "i"},"<C-r><C-k>", "<cmd>ToggleTermSendCurrentLine<cr>j") +vim.keymap.set("n","<C-r><C-j>", "ggVG:'<,'>ToggleTermSendVisualLines<cr>") +vim.keymap.set("i","<C-r><C-j>", "<Esc>ggVG:'<,'>ToggleTermSendVisualLines<cr><Esc>i") +vim.keymap.set("v","<C-r><C-k>", ":ToggleTermSendVisualLines<cr><Esc>") +-- Buffer Navigation +vim.keymap.set("n", "<C-h>", [[<C-W>h]]) +vim.keymap.set("n", "<C-j>", [[<C-W>j]]) +vim.keymap.set("n", "<C-k>", [[<C-W>k]]) +vim.keymap.set("n", "<C-l>", [[<C-W>l]]) +-- Undo Remapping +vim.keymap.set("n", "U", "<C-r>") +-- Replace the Current Word everywhere +vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]]) +-- Nvim-Tree +-- vim.keymap.set("n", "<leader>e", "<cmd>NvimTreeToggle<cr>") +-- BufferLine Navigation +-- vim.keymap.set("n", "<Tab>", "<cmd>BufferLineCycleNext<cr>") +-- vim.keymap.set("n", "<S-Tab>", "<cmd>BufferLineCyclePrev<cr>") +-- vim.keymap.set("n", "<C-w>", "<cmd>BufferLineCloseOthers<cr>") +-- Treesitter Context +vim.keymap.set("n", "[c", function() + require("treesitter-context").go_to_context() +end, { silent = true }) +-- Docstring commands +vim.keymap.set("n","<leader>dc",[[i"""<Esc>o<Esc>o#<Space>Information:<Esc>o<Backspace><Backspace><Esc>o#<Space>Arguments:<Esc>o<Backspace><Backspace><Esc>o#<Space>Returns:<Esc>o<Backspace><Backspace><Esc>o"""<Esc>7k]]) + + + +--vim.keymap.set('n', '<C-p>', bultin.git_files,{}) +--Oil.nvim keybinds +vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" }) + +vim.keymap.set("n","<leader>m","<CMD>silent make<CR>") |