init.lua 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. '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('nvim-tree-conf')
  28. require('telescope-conf')
  29. require('refactoring-conf')
  30. require('gitsigns-conf')
  31. require('indent-blankline')
  32. require('whichkey')
  33. require('colorizer').setup()
  34. -- 7. Load keybinds and autocommands
  35. require('keymaps')
  36. require('autocmds')
  37. -- Enable intelligent indentation
  38. vim.cmd('filetype plugin indent on')