A modern, fast, and minimal Neovim configuration powered by Lua and Lazy.nvim, tailored for Java development with full nvim-jdtls support. Includes LSP, Treesitter, autocompletion, UI enhancements, testing tools, and productivity plugins — optimized for a smooth developer experience across languages.
- ⚙️ LSP & Autocompletion: Integrated with
nvim-lspconfig,cmp-nvim,TabNine, andnvim-jdtls. - 🌳 Treesitter: Syntax highlighting and advanced code navigation.
- 🚀 Productivity: Autosave, bufferline, smart splits, toggleterm, and which-key.
- 🌗 UI Enhancements: Dressed popups, LuaLine statusline, Noice notifications, and Nightfox theme.
- 🔍 Telescope: Fuzzy finding for files, buffers, LSP symbols, and more.
- 🧪 Testing: Built-in support for JUnit and TestNG via
nvim-jdtls. - 🐍 Python Venvs: Seamless environment switching with
venv-selector.
.
├── init.lua # Entry point
├── lua/
│ ├── keymaps.lua # Keybindings
│ ├── plugin.lua # Lazy.nvim setup
│ ├── plugins/ # Plugin configurations
│ └── nvim-jdtls/ # Java support
├── ftplugin/java.lua # Java-specific tweaks
├── lazy-lock.json # Plugin lock file
└── init.vim.bak # Old Vim config
git clone https://github.com/Ashank007/neovim-config.git ~/.config/nvim
nvim
Neovim will auto-install plugins using Lazy.nvim on first launch.
-
Neovim v0.9+
-
JDK 17+ (for Java LSP)
-
Python 3.x (for LSP & virtualenvs)
-
ripgrep, fd (for Telescope)
- Open-source and available under the MIT License.