A professional, high-performance, and feature-rich Neovim configuration built for modern development. Inspired by the convenience of VS Code, optimized for extreme speed, keyboard-driven navigation, and extensible customization.
Here is a preview of Neovim after installation:
- π¨ Premium UI Aesthetics: Crafted with a gorgeous Catppuccin Mocha theme, a custom Lualine status bar, file icons, and smooth popups & floating command-line elements powered by
noice.nvim. - π» Modern IDE Capabilities: Automatic Language Server Protocol (LSP) setup via
lspconfigcombined withMasonfor effortless compiler, linter, and formatter installation. - π Advanced Fuzzy Finding: Instant search for files, live text grepping, active buffers, and commands using
Telescope.nvim. - π Code Quality & Formatting: Auto-format on save powered by
conform.nvimand real-time syntax checking vianvim-lint. - π Integrated Terminal: Quickly toggle custom floating terminal windows without losing your active workspace.
- π¦ Smart Session Management: Automatic workspace state saving and restoration when reopening projects.
- π± Native Git Integration: Visible gutter diff signs, interactive hunk stage/preview overlays, and an embedded LazyGit floating terminal pane.
This configuration namespace is organized modularly under Maheswara660 to keep runtime configurations tidy and isolated:
nvim/
βββ init.lua # Entry point (Loads core config & plugins)
βββ lazy-lock.json # Locked plugin dependency versions
βββ lua/Maheswara660/ # Isolated Namespace
βββ core/ # Core Editor Engine Setup
β βββ init.lua # Loader for core components
β βββ keymaps.lua # Global key mappings
β βββ options.lua # Neovim options & preferences
βββ plugins/ # Plugin Manifest & Setup Files
βββ lsp/ # LSP Configuration Specifications
β βββ lspconfig.lua # LSP client setup & bindings
β βββ mason.lua # Mason server & tool registry
βββ init.lua # Base dependencies catalog
βββ [30+ plugin setup profiles]
Tip
The <leader> key is mapped to <Space>. When starting a chord keybinding (e.g. <leader>ff), you can wait a moment to see a visual helper popup at the bottom of the screen (powered by which-key.nvim) mapping out all available choices.
| Keybinding | Mode | Action |
|---|---|---|
jf |
Insert | Exit insert mode and save file |
<C-s> |
Normal/Insert | Quick save file |
<C-x> |
Normal/Insert | Save file and close buffer |
qq |
Normal | Save file and exit Neovim |
cc |
Normal | Clear active search highlights |
<C-z> |
Normal/Insert | Undo last action |
<C-y> |
Normal/Insert | Redo last action |
<C-a> |
Normal | Select all text in active buffer |
| Keybinding | Mode | Action |
|---|---|---|
<leader>v |
Normal | Split editor layout vertically |
<leader>h |
Normal | Split editor layout horizontally |
<leader>ee |
Normal | Distribute splits with equal width/height |
<leader>ex |
Normal | Close current split pane |
| Keybinding | Mode | Action |
|---|---|---|
<leader>to |
Normal | Create a new workspace tab |
<leader>tx |
Normal | Close active workspace tab |
<C-n> |
Normal | Switch to next tab |
<C-p> |
Normal | Switch to previous tab |
<leader>tf |
Normal | Move current editor buffer into a new tab |
| Keybinding | Mode | Action |
|---|---|---|
dw |
Normal | Delete word backwards |
<C-d> |
Normal | Delete word backwards (does not replace clipboard register) |
df |
Normal | Delete text from cursor to end of line |
db |
Normal | Delete text from cursor to start of line |
p |
Visual | Paste text over selection (preserves paste register) |
This environment leverages Lazy.nvim to load 30+ highly-tuned plugins with lazy-loading configurations to maintain <100ms startup times:
| Category | Plugins Included | Purpose |
|---|---|---|
| Visual / Theme | catppuccin/nvim, nvim-tree/nvim-web-devicons |
Premium Mocha styling and file icons |
| UI Enhancements | goolord/alpha-nvim, nvim-lualine/lualine.nvim, folke/noice.nvim, rcarriga/nvim-notify |
Welcome screen, custom statusline, notifications, and menus |
| Workspace Navigation | nvim-telescope/telescope.nvim, nvim-tree/nvim-tree.lua, rmagatti/auto-session |
File finder, tree explorer, and session management |
| Smart Editing | windwp/nvim-autopairs, numToStr/Comment.nvim, kylechui/nvim-surround, gbprod/substitute.nvim |
Automated tag closing, line commenting, surrounds, and text replacement |
| LSP Setup | neovim/nvim-lspconfig, williamboman/mason.nvim |
Built-in LSP hookups and package manager |
| Linting & Formatting | stevearc/conform.nvim, mfussenegger/nvim-lint |
Formatter-on-save (Prettier, black, etc.) and linter runner |
| Git Tooling | lewis6991/gitsigns.nvim, kdheepak/lazygit.nvim |
Diff status columns and floating terminal LazyGit runner |
| Utilities | folke/which-key.nvim, szw/vim-maximizer |
Visual keybind directory popup and split pane maximizer |
Ensure the following tools are installed on your machine:
- Neovim 0.9.0+
- Git
- ripgrep (For text searching inside Telescope finder)
- Node.js & Python 3 (Highly recommended for running LSP servers)
-
Create a backup of your existing setup:
mv ~/.config/nvim ~/.config/nvim.bak
-
Clone the repository to the default config location:
git clone https://github.com/Maheswara660/Neovim.git ~/.config/nvim -
Open Neovim:
nvim
Lazy.nvim will launch automatically and download the catalog of configured plugins.
-
Install Development Tools: Type
:Masoninside Neovim to download LSPs, code formatters, and linters for your development languages.
You can keep all installed editor modules updated by running:
:Lazy updateIf keybindings do not fire, verify your terminal emulator or operating system does not capture the mapping (especially Ctrl key mappings). Check conflict logs using:
:verbose map <key_combination>For diagnosing system requirements, terminal color compatibility, or provider issues, run the built-in doctor utility:
:checkhealthThis project is licensed under the GNU General Public License v3 - see the LICENSE file for details.