Skip to content

Maheswara660/Neovim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Neovim Configuration Dotfiles

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.

Neovim Version Plugin Manager License Platform

Terminal Preview

Here is a preview of Neovim after installation:

Maheswara660 Neovim Preview

⚑ Features Overview

  • 🎨 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 lspconfig combined with Mason for 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.nvim and real-time syntax checking via nvim-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.

πŸ“‚ Project Structure

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]

⌨️ Custom Keybindings Reference

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.

File & Editor Commands

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

Window Management & Splits

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

Tabbed Workspace Operations

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

Advanced Editing Commands

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)

πŸ“¦ Installed Plugins Catalog

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

πŸ› οΈ Getting Started

Prerequisites

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)

Installation

  1. Create a backup of your existing setup:

    mv ~/.config/nvim ~/.config/nvim.bak
  2. Clone the repository to the default config location:

    git clone https://github.com/Maheswara660/Neovim.git ~/.config/nvim
  3. Open Neovim:

    nvim

    Lazy.nvim will launch automatically and download the catalog of configured plugins.

  4. Install Development Tools: Type :Mason inside Neovim to download LSPs, code formatters, and linters for your development languages.


βš™οΈ Maintenance & Troubleshooting

Keeping Plugins Updated

You can keep all installed editor modules updated by running:

:Lazy update

Keybinding Conflicts

If 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>

Checking System Health

For diagnosing system requirements, terminal color compatibility, or provider issues, run the built-in doctor utility:

:checkhealth

πŸ“„ License

This project is licensed under the GNU General Public License v3 - see the LICENSE file for details.

About

A professional, high-performance Neovim configuration built for developers. Features VS Code-like keymaps, Catppuccin styling, lazy-loaded plugins, full LSP integration (via Mason), fuzzy finding, auto-formatting, and unified terminal/git environments.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages