Neovim Config
My main developing editor is Neovim. I use Neovim for almost all my coding and text editing. The only exceptions are when I need to use python notebooks or work on large projects that requires a full fledge IDE. In these cases I prefer to use VS Code and the JetBrains Suite respectively. My reasons for preferring Neovim over other editors and IDEs comes down to its lightweightness, customizability, and accessibility. I have spent a deal of time configuring and optimizing Neovim to my preferences. This personal development environment allows me to be an organized and efficient coder. In a sense, I have removed any qualms I may have about an editing experience and added enough coherent functionality so that editing becomes a frictionless process.
Config
The Configuration is written in Lua and follows a file structure that complements the plugin manager lazy.nvim. Language Server Protocols (LSP) are managed with mason.nvim. If Neovim is called within VS Code, then only the default configuration is loaded. The general file structure for the configuration goes as follows (subject to change):
File Structure
./config/nvim
└───init.lua
│
└───lua
│
└───config
│ └───init.lua
│ └───options.lua
│ └───keymaps.lua
│ └───autocmds.lua
│
└───plugins
└───editor
│ └───init.lua
│ └───config.lua
└───coding
│ └───init.lua
│ └───config.lua
└───tools
│ └───init.lua
│ └───config.lua
└───ui
│ └───init.lua
│ └───config.lua
└───lsp
└───init.lua
└───config.lua
└───format.lua
└───keymaps.lua
Plugins
Plugin Manager
Editor
- auto-session
- better-escape.nvim
- Comment.nvim
- diffview.nvim
- document-color.nvim
- neoscroll.nvim
- nvim-autopairs
- nvim-colorizer
- nvim-dap
- nvim-dap-ui
- nvim-treesitter
- nvim-treesitter-textobjects
- nvim-ts-rainbow
- nvim-ts-context-commentstring
- nvim-ts-hint-texttobject
- nvim-ts-autotag
- nvim-ufo
- promise-async.nvim
- statuscol.nvim
- symbols-outline.nvim
- toggleterm.nvim
- vim-illuminate
- zen-mode.nvim
UI
- alpha-nvim
- bufferline.nvim
- fidget.nvim
- gitsigns.nvim
- indent-blankline.nvim
- lualine.nvim
- neodim
- nvim-notify
- nvim-scrollview
- nvim-tree.lua
- nvim-web-devicons
Colorschemes
Tools
- dressing.nvim
- markdown-preview.nvim
- plenary.nvim
- project.nvim
- sniprun
- sqlite
- telescope-frequency.nvim
- telescope-live-grep-args.nvim
- telescope-undo.nvim
- telescope.nvim
- trouble.nvim
- vimtex
- which-key.nvim
LSP
- cmp-buffer
- cmp-latex-symbols
- cmp_luasnip
- cmp-nvim-lsp
- cmp-path
- cmp-spell
- cmp-under-comparator
- friendly-snippets
- LuaSnip
- lsp_signature
- lspkind.nvim
- lspsaga.nvim
- mason-lspconfig.nvim
- mason.nvim
- nvim-cmp
- nvim-lspconfig