init.lua 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. -- Noah's Neovim Configuration (init.lua)
  2. -- 1. Essential Neovim 0.11+ fixes and environment setup
  3. -- Disable built-in LSP mappings
  4. local builtins = { 'grn', 'gra', 'grr', 'gri', 'grt' }
  5. for _, k in ipairs(builtins) do
  6. pcall(vim.keymap.del, 'n', k, { builtin = true })
  7. end
  8. -- Disable built-in commentary
  9. vim.g.loaded_commentary = 1
  10. -- 2. Load basic settings
  11. require('options')
  12. -- 3. Load plugins (lazy.nvim)
  13. require('plugins')
  14. -- 4. Load Theme (Important for Treesitter highlight groups)
  15. require('theme')
  16. -- 5. Load Plugin configurations (some are still in vimscript)
  17. local plug_confs = {
  18. 'fern', 'emmet', 'ctrlp', 'sneak', 'airline',
  19. 'startify', 'wilder', 'vcoolor', 'better-whitespace', 'vimspector'
  20. }
  21. for _, conf in ipairs(plug_confs) do
  22. vim.cmd('source $XDG_CONFIG_HOME/nvim/plug-conf/' .. conf .. '.vim')
  23. end
  24. -- 6. Load Lua-specific configurations
  25. require('treesitter')
  26. require('lsp')
  27. require('telescope-conf')
  28. require('refactoring-conf')
  29. require('gitsigns-conf')
  30. require('indent-blankline')
  31. require('whichkey')
  32. require('colorizer').setup()
  33. -- 7. Load keybinds and autocommands
  34. require('keymaps')
  35. require('autocmds')
  36. -- Enable intelligent indentation
  37. vim.cmd('filetype plugin indent on')