ModuleVim

October 31, 2025 ยท View on GitHub

A modern, modular, and fast Neovim configuration built from scratch with lazy.nvim. This setup provides a complete IDE-like experience, focusing on performance, aesthetics, and modern developer tooling.

๐Ÿ“ธ Screenshots

Gruvbox MaterialGitHub Dark Theme
gruvyboxgithub
Which-key HintingTransparent Mode
which-keytransparent

โœจ Features

  • โšก Fast & Lazy-Loaded: Built with lazy.nvim to ensure minimal startup time. Plugins are loaded only when needed.
  • ๐Ÿ› ๏ธ Modern Tooling: Out-of-the-box support for LSP, formatting, linting, and debugging.
    • LSP Management via mason.nvim for easy installation of language servers.
    • Formatting via conform.nvim, configured for format-on-save.
    • Linting via nvim-lint for asynchronous, on-the-fly code checking.
    • Debugging via nvim-dap and nvim-dap-ui.
  • ๐Ÿ’… Beautiful & Functional UI:
    • Statusline: Sleek and informative statusline from lualine.nvim.
    • Buffer Tabs: bufferline.nvim provides a clean tab interface.
    • File Explorer: Modern file tree with neo-tree.nvim.
    • Key Hints: which-key.nvim provides helpful popups for keybindings.
    • Command UI: noice.nvim beautifies the command line and notifications.
    • Themes: Easy theme cycling with support for gruvbox-material, github_dark, everforest, and more.
  • ๐Ÿ“ Rich Editing Experience:
    • Fuzzy Finding: telescope.nvim for finding files, text, buffers, and more.
    • Completion: nvim-cmp provides powerful autocompletion.
    • Syntax Highlighting: Advanced highlighting with nvim-treesitter.
    • Git Integration: gitsigns.nvim for hunk management and line blame.
    • Diagnostics: trouble.nvim for a clean list of project-wide diagnostics.
    • Navigation: hop.nvim and accelerated-jk.nvim for rapid cursor movement.
    • Commenting: Smart, context-aware commenting with Comment.nvim.

๐Ÿš€ Installation

  1. Backup your existing configuration:

    # Make a backup of your current nvim config
    mv ~/.config/nvim ~/.config/nvim.bak
    mv ~/.local/share/nvim ~/.local/share/nvim.bak
    
  2. Clone the repository:

    git clone [https://github.com/jrychn/modulevim.git](https://github.com/jrychn/modulevim.git) ~/.config/nvim
    
  3. Start Neovim:

    nvim
    

    On the first launch, lazy.nvim will automatically bootstrap itself and install all the plugins.

โŒจ๏ธ Key Mappings

This configuration uses <Space> as the leader key. which-key.nvim will guide you, but here are some of the most important bindings:

General

KeyActionPlugin
<Space>Leader key / Open which-keywhich-key.nvim
<C-\>Toggle floating terminaltoggleterm.nvim
<leader>eToggle file explorerneo-tree.nvim
<leader>oToggle symbols outlineaerial.nvim
<leader>aaShow welcome screenalpha-nvim

Searching (Telescope)

KeyAction
<leader>ffFind Files
<leader>fgLive Grep (Search Text)
<leader>fbFind Buffers
<leader>fhFind Help Tags
grLSP References
giLSP Implementations

Buffers & Style

KeyActionPlugin
<leader>bdClose current buffermini.bufremove
<S-l>Next bufferbufferline.nvim
<S-h>Previous bufferbufferline.nvim
<leader>tcCycle color theme(custom)
<leader>tpToggle transparent backgroundtransparent.nvim

LSP & Diagnostics

KeyAction
gdGo to Definition
gDGo to Declaration
KHover Documentation
ghHover Documentation (alias)
<leader>caCode Action
<leader>rnRename Symbol
[dGo to Previous Diagnostic
]dGo to Next Diagnostic
<leader>xxToggle diagnostics list
<leader>llToggle document diagnostics
<leader>lqToggle quickfix list

Debugging (DAP)

KeyAction
<F5>Continue
<F10>Step Over
<F11>Step Into
<F12>Step Out
<leader>dbToggle Breakpoint
<leader>duToggle DAP UI

๐Ÿ”Œ Core Plugins

This is not a complete list, but highlights the main plugins used in this configuration.

FunctionPlugin
Plugin Managerfolke/lazy.nvim
Fuzzy Findernvim-telescope/telescope.nvim
LSP Managementwilliamboman/mason.nvim
LSP Configneovim/nvim-lspconfig
Formattingstevearc/conform.nvim
Lintingmfussenegger/nvim-lint
Completionhrsh7th/nvim-cmp
Statuslinenvim-lualine/lualine.nvim
Tab/Buffer Lineakinsho/bufferline.nvim
File Treenvim-neo-tree/neo-tree.nvim
Keymap Hintsfolke/which-key.nvim
Welcome Screengoolord/alpha-nvim
Git Signslewis6991/gitsigns.nvim
Diagnostics UIfolke/trouble.nvim
Code Outlinestevearc/aerial.nvim
Terminalakinsho/toggleterm.nvim
Debuggingmfussenegger/nvim-dap