From 7a953eb240e295b013b3d3165106d6e45a5fc32b Mon Sep 17 00:00:00 2001 From: Mikkel Svartveit Date: Tue, 16 Sep 2025 14:08:11 +0200 Subject: [PATCH] Update Neovim config --- nvim/init.vim | 9 ++------- nvim/lazy-lock.json | 24 +++++++++++------------ nvim/lua/plugins.lua | 46 ++++++++++++++++++++++++++++++++++---------- 3 files changed, 50 insertions(+), 29 deletions(-) diff --git a/nvim/init.vim b/nvim/init.vim index 79c3572..5b5da64 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -12,6 +12,7 @@ set shortmess+=I " Enable line numbers set number +set relativenumber " Always show filename and modified marker in status line set statusline=%f\ %m @@ -76,13 +77,7 @@ xnoremap gp (v:register ==# '"' ? '"+' : '') . 'p' xnoremap gP (v:register ==# '"' ? '"+' : '') . 'P' " Press Enter to clear search highlighting -nnoremap :nohlsearch - -" Disable arrow keys in normal mode - enforce hjkl instead -nnoremap :echoe "Use h" -nnoremap :echoe "Use l" -nnoremap :echoe "Use k" -nnoremap :echoe "Use j" +" nnoremap :nohlsearch " Fix terminal cursor after exiting " au VimLeave * set guicursor=a:ver100 diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index 0194fb8..0547cef 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -1,20 +1,20 @@ { "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, - "LuaSnip": { "branch": "master", "commit": "faf3c94a44508cec1b961406d36cc65113ff3b98" }, - "auto-session": { "branch": "main", "commit": "00334ee24b9a05001ad50221c8daffbeedaa0842" }, - "catppuccin": { "branch": "main", "commit": "56a9dfd1e05868cf3189369aad87242941396563" }, - "claudecode.nvim": { "branch": "main", "commit": "c1cdcd5a61d5a18f262d5c8c53929e3a27cb7821" }, + "LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" }, + "auto-session": { "branch": "main", "commit": "fffb13dcbe8731b8650e5bf1caa749a485d20556" }, + "catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" }, + "claudecode.nvim": { "branch": "main", "commit": "2603ec0b59857bb9329223f18705241dd615bbef" }, "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, - "code_runner.nvim": { "branch": "main", "commit": "386bcaa8aa7ae8703281afce4465ecfdb7c44e65" }, - "gitsigns.nvim": { "branch": "main", "commit": "8b729e489f1475615dc6c9737da917b3bc163605" }, + "code_runner.nvim": { "branch": "main", "commit": "65c8d11f507073b915f10faa88ea05bd4fbf69ce" }, + "gitsigns.nvim": { "branch": "main", "commit": "88205953bd748322b49b26e1dfb0389932520dc9" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "67da97f8c2fd12d05427bb485ce07ee6418e0a51" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "f54e3c11fc9ebfcfc27e696182b0295b071d0811" }, "mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" }, "neoscroll.nvim": { "branch": "master", "commit": "f957373912e88579e26fdaea4735450ff2ef5c9c" }, "none-ls.nvim": { "branch": "main", "commit": "db2a48b79cfcdab8baa5d3f37f21c78b6705c62e" }, - "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" }, + "nvim-autopairs": { "branch": "master", "commit": "2647cce4cb64fb35c212146663384e05ae126bdf" }, "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, - "nvim-lspconfig": { "branch": "master", "commit": "b8e7957bde4cbb3cb25a13a62548f7c273b026e9" }, + "nvim-lspconfig": { "branch": "master", "commit": "314b35335cc84bc2a085c84c69da955ba22da163" }, "nvim-scrollbar": { "branch": "main", "commit": "5b103ef0fd2e8b9b4be3878ed38d224522192c6c" }, "nvim-toggleterm.lua": { "branch": "main", "commit": "a5638b2206c3930a16a24e5c184dddd572f8cd34" }, "nvim-tree.lua": { "branch": "master", "commit": "e14989c0eaa6f9c299d48f7e45ce1ed04b21180f" }, @@ -22,9 +22,9 @@ "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" }, + "supermaven-nvim": { "branch": "main", "commit": "07d20fce48a5629686aefb0a7cd4b25e33947d50" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" }, - "telescope.nvim": { "branch": "master", "commit": "7011eaae0ac1afe036e30c95cf80200b8dc3f21a" }, + "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" }, - "vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" }, - "windsurf.vim": { "branch": "main", "commit": "272c6e2755e8faa90e26bcdcd9fde6b9e61751ea" } + "vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" } } diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua index 0a6e639..fd9220a 100644 --- a/nvim/lua/plugins.lua +++ b/nvim/lua/plugins.lua @@ -98,8 +98,15 @@ require("lazy").setup({ vim.keymap.set("n", "gd", "lua vim.lsp.buf.definition()", opts) vim.keymap.set("n", "gh", "lua vim.diagnostic.open_float()", opts) + vim.keymap.set("n", "grr", "Telescope lsp_references", opts) end, }) + + -- Close quickfix menu after selecting choice + vim.api.nvim_create_autocmd("FileType", { + pattern = { "qf" }, + command = [[nnoremap :cclose]], + }) end, }, @@ -117,6 +124,7 @@ require("lazy").setup({ }), null_ls.builtins.formatting.black, null_ls.builtins.formatting.stylua, + null_ls.builtins.formatting.gofmt, }, on_attach = function(client, bufnr) if client.supports_method("textDocument/formatting") then @@ -162,14 +170,17 @@ require("lazy").setup({ -- AI autocompletion { - "Exafunction/windsurf.vim", - event = "BufEnter", + "supermaven-inc/supermaven-nvim", + config = function() - vim.api.nvim_create_user_command("CPE", "CodeiumEnable", {}) - vim.api.nvim_create_user_command("CPD", "CodeiumDisable", {}) + vim.api.nvim_create_user_command("CPE", "SupermavenStart", {}) + vim.api.nvim_create_user_command("CPD", "SupermavenStop", {}) + + require("supermaven-nvim").setup({}) -- Disable on startup - vim.cmd("CodeiumDisable") + local api = require("supermaven-nvim.api") + api.stop() end, }, @@ -181,17 +192,32 @@ require("lazy").setup({ }, opts = { terminal = { + provider = "snacks", split_side = "right", split_width_percentage = 0.4, }, }, config = true, keys = { - { "", "ClaudeCode", mode = { "n", "v", "i", "t" }, desc = "Toggle Claude" }, - - -- Temporarily disabled because it's buggy - -- { "", "ClaudeCodeSend", mode = "v", desc = "Send to Claude" }, + { "", "ClaudeCodeFocus", mode = { "n", "v", "i", "t" }, desc = "Toggle Claude" }, + { "", "ClaudeCodeSend", mode = "v", desc = "Send to Claude" }, }, + init = function() + -- Update buffer when Claude Code has made changes + vim.api.nvim_create_autocmd({ + "BufEnter", + "BufWinEnter", + }, { + group = augroup, + pattern = "*", + callback = function() + if vim.fn.filereadable(vim.fn.expand("%")) == 1 then + vim.cmd("checktime") + end + end, + desc = "Check for file changes on disk", + }) + end, }, -- Auto-restore session when opening Neovim @@ -238,7 +264,7 @@ require("lazy").setup({ -- Fuzzy finder for files, buffers, etc. { "nvim-telescope/telescope.nvim", - tag = "0.1.4", + tag = "0.1.8", dependencies = { "nvim-lua/plenary.nvim", { "nvim-telescope/telescope-fzf-native.nvim", build = "make" },