Skip to content

dcpr01/nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neovim Quick Setup

This repository contains a modular Neovim configuration using Lazy.nvim as the plugin manager. It includes a structured approach to plugins, keybindings, and UI enhancements for an efficient development workflow.


📂 File Structure

~/.config/nvim/
├── init.lua                  # Main entry point for Neovim config
├── lua/
│   ├── plugins/              # Plugin configurations
│   │   ├── init.lua          # Lazy.nvim setup (manages all plugins)
│   │   ├── which-key.lua     # Keybinding manager (starts disabled)
│   │   ├── plugin_keys.lua   # Custom plugin keybindings
│   │   ├── telescope.lua     # Fuzzy finder setup
│   │   ├── lsp.lua           # LSP + Mason configurations
│   │   ├── treesitter.lua    # Treesitter syntax highlighting
│   │   ├── alpha.lua         # Dashboard setup
│   │   ├── oil.lua           # File explorer (Oil.nvim)
│   │   ├── visual_multi.lua  # Multi-cursor support
│   │   ├── mason.lua         # LSP installer manager
│   │   ├── lualine.lua       # Statusline setup
│   │   ├── comment.lua       # Easy Commenting 
│   ├── vim-options.lua       # General Neovim settings 
│   ├── plugins.lua           # Plugin pointer file

⚠️ -- Before attempting to install this nvim config, ensure that unzip, npm, clang are all installed. -- ⚠️

📦 Installed Plugins

This setup is plugin-based, meaning all configurations are modular and installed through Lazy.nvim.

🛠 Core Plugins

  • Lazy.nvim – Plugin manager.
  • Which-Key.nvim – Keybinding popup (default OFF, toggle with Ctrl + W).
  • Mason.nvim – LSP installer.
  • LSPConfig – Language Server Protocol setup.
  • Treesitter – Advanced syntax highlighting.

🔍 Navigation & Search

  • Telescope.nvim – Fuzzy finder (Find files, live grep, etc.)
  • Oil.nvim – File explorer (Replaces netrw, mapped to Ctrl + O).

🎨 UI Enhancements

  • Lualine.nvim – Customizable statusline.
  • Alpha.nvim – Neovim dashboard (Mapped to Ctrl + A).
  • OneDark.nvim – Default colorscheme.

🖥 Development Enhancements

  • vim-visual-multi – Multi-cursor support (<C-n> to select next match).
  • Telescope-ui-select.nvim – Better UI selection for commands.
  • Comment.nvim – Allows for keycommand commenting.

Keybindings

This setup includes custom keybindings, managed by which-key.nvim.

Key Action
Ctrl + o Open Oil.nvim (File Explorer)
Ctrl + CR Change to current directory (Oil)
<leader>fg Live Grep (Telescope)
<leader>fb Find Buffers (Telescope)
<leader>m Open Mason (LSP Installer)
<leader>ts Update Treesitter Parsers
K Hover Info (LSP)
gd Go to Definition (LSP)
<leader>rn Rename Symbol (LSP)
Ctrl + a Open Alpha Dashboard
Ctrl + w Toggle Which-Key (ON/OFF)
Ctrl + j Add Cursor Below
Ctrl + k Add Cursor Above
Ctrl + n Select next match (Visual Multi)
Ctrl + / Comment toggle

🛠 Setup Instructions

To install this Neovim setup, follow these steps:

  1. Install Neovim (if not installed):

    sudo apt install neovim   # Ubuntu/Debian
    brew install neovim        # macOS
    winget install neovim      # Windows
  2. Clone this repository to ~/.config/nvim:

    git clone https://github.com/DCPR01/nvim.git ~/.config/nvim
  3. Open Neovim and install plugins:

    nvim
    :Lazy sync
  4. Restart Neovim and enjoy! 🚀


🛠 Customization

  • Modify plugin configurations inside lua/plugins/.
  • Add custom keybindings to plugin_keys.lua.
  • Change the colorscheme inside lua/options.lua.

🔄 Troubleshooting

If something isn't working as expected:

Check the path Neovim is referencing for its config: :echo stdpath("config")

  1. Update all plugins:

    nvim
    :Lazy update
  2. Check for errors in logs:

    :checkhealth
  3. If which-key.nvim doesn’t show mappings:

    • Make sure you toggle it ON with Ctrl + W.
    • Run :WhichKey to confirm mappings.
  4. If LSPs don’t work:

    :LspInfo
    • Ensure Mason installed the correct LSPs.
  5. Remove broken plugins and reinstall:

    rm -rf ~/.local/share/nvim/lazy
    nvim
    :Lazy sync

🎯 Why This Setup?

  • 🔥 Fast & Minimal: Uses Lazy.nvim for optimized performance.
  • 🛠 Modular: Easy to extend and modify.
  • 🔄 Pre-configured Plugins: Includes everything needed for a smooth experience.
  • ⌨ Fully Keymapped: Designed for efficient navigation and coding.

🚀 Enjoy coding with Neovim! Let me know if you need help! 🎯

About

Neovim setup 2025

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages