summaryrefslogtreecommitdiff
path: root/nvim/lua/keybindings.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/lua/keybindings.lua')
-rw-r--r--nvim/lua/keybindings.lua162
1 files changed, 162 insertions, 0 deletions
diff --git a/nvim/lua/keybindings.lua b/nvim/lua/keybindings.lua
new file mode 100644
index 0000000..8ad83c7
--- /dev/null
+++ b/nvim/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 cwd= 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 cwd= 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 cwd= 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>")
Back to https://optics-design.com