From 10273a1ecded9812c2e2671b3a4818189892a56a Mon Sep 17 00:00:00 2001 From: StuartStephens Date: Thu, 23 Oct 2025 13:21:47 -0400 Subject: [PATCH] updated neovim config --- init.lua | 11 ++++++- lua/custom/keymaps.lua | 55 ++++++++++++++++++++------------- lua/custom/plugins/opencode.lua | 2 +- 3 files changed, 44 insertions(+), 24 deletions(-) diff --git a/init.lua b/init.lua index 94d15a7a..3dba86b9 100644 --- a/init.lua +++ b/init.lua @@ -1,3 +1,6 @@ +vim.g.loaded_netrw = 1 +vim.g.loaded_netrwPlugin = 1 + --[[ ===================================================================== @@ -940,7 +943,13 @@ require('lazy').setup({ -- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren -- - sd' - [S]urround [D]elete [']quotes -- - sr)' - [S]urround [R]eplace [)] ['] - require('mini.surround').setup() + require('mini.surround').setup({ mappings = { add = 'ys', delete = 'ds', replace = 'cs' } }) + + -- Don't yank when deleting or changing + local keymap = vim.keymap.set + local opts = { noremap = true, silent = true } + keymap('n', 'd', '"_d', opts) + keymap('n', 'c', '"_c', opts) -- Simple and easy statusline. -- You could remove this setup call if you don't like it, diff --git a/lua/custom/keymaps.lua b/lua/custom/keymaps.lua index 8ab51efa..f1980b23 100644 --- a/lua/custom/keymaps.lua +++ b/lua/custom/keymaps.lua @@ -1,21 +1,16 @@ local opts = { noremap = true, silent = true } - local keymap = vim.keymap.set -- Exit file --- vim.keymap.set("n", "pv", vim.cmd.Ex) --- vim.api.nvim_set_keymap('n', 'pv', ':bd', { noremap = true, silent = true }) --- Vertical Movement -vim.keymap.set('n', '', 'zz') -vim.keymap.set('n', '', 'zz') -vim.keymap.set('n', 'n', 'nzzzv') -vim.keymap.set('n', 'N', 'Nzzzv') +keymap('n', 'pv', ':bd', opts) --- Better window navigation -keymap('n', '', 'h', opts) -keymap('n', '', 'j', opts) -keymap('n', '', 'k', opts) -keymap('n', '', 'l', opts) +-- Vertical Movement with centering +keymap('n', '', 'zz', opts) +keymap('n', '', 'zz', opts) +keymap('n', '}', '}zz', opts) +keymap('n', '{', '{zz', opts) +keymap('n', 'n', 'nzzzv', opts) +keymap('n', 'N', 'Nzzzv', opts) -- Resize with arrows keymap('n', '', ':resize -2', opts) @@ -30,6 +25,10 @@ keymap('n', '', ':bprevious', opts) -- Move text up and down keymap('n', '', ':m .+1==', opts) keymap('n', '', ':m .-2==', opts) +keymap('v', '', ":m '>+1gv=gv", opts) +keymap('v', '', ":m '<-2gv=gv", opts) +keymap('x', '', ":m '>+1gv=gv", opts) +keymap('x', '', ":m '<-2gv=gv", opts) -- Insert -- -- Press jk fast to exit insert mode @@ -45,22 +44,34 @@ keymap('v', 'kj', '', opts) keymap('v', '<', '', '>gv^', opts) --- Move text up and down -keymap('v', '', ":m '>+1gv=gv", opts) -keymap('v', '', ":m '<-2gv=gv", opts) +-- Paste without yanking in visual mode keymap('v', 'p', '"_dP', opts) -- Visual Block -- -- Move text up and down keymap('x', 'J', ":m '>+1gv=gv", opts) keymap('x', 'K', ":m '<-2gv=gv", opts) -keymap('x', '', ":m '>+1gv=gv", opts) -keymap('x', '', ":m '<-2gv=gv", opts) --- Don't yank when deleting -- -keymap('n', 'd', '"_d', opts) - --- Quickfix Step File -- +-- Quickfix Step File keymap('n', '', ':cnext', opts) keymap('n', '', ':cprev', opts) +-- Toggle diagnostics visibility +keymap('n', 'td', function() + local config = vim.diagnostic.config() + if config.virtual_text == false and config.signs == false and config.underline == false then + -- Diagnostics are currently disabled, enable them + vim.diagnostic.config({ + virtual_text = true, + signs = true, + underline = true, + }) + else + -- Diagnostics are currently enabled, disable them + vim.diagnostic.config({ + virtual_text = false, + signs = false, + underline = false, + }) + end +end, { desc = '[T]oggle [D]iagnostics' }) diff --git a/lua/custom/plugins/opencode.lua b/lua/custom/plugins/opencode.lua index 5f412d33..417adc88 100644 --- a/lua/custom/plugins/opencode.lua +++ b/lua/custom/plugins/opencode.lua @@ -3,7 +3,7 @@ return { dependencies = { -- Recommended for `ask()` and `select()`. -- Required for `toggle()`. - { 'folke/snacks.nvim', opts = { input = {}, picker = {} } }, + { 'folke/snacks.nvim', lazy = false, priority = 1000, opts = { input = {}, picker = {} } }, }, config = function() vim.g.opencode_opts = {