Skip to content
/ NVim Public

My configurations for an optimized Neovim setup for development. Features LSP, auto-completion, Git integration, and a sleek UI. Built for productivity with lazy-loading plugins and custom keybindings. πŸš€

Notifications You must be signed in to change notification settings

GitDaksh/NVim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Neovim Configuration for 2024

Welcome to my Neovim configuration repository! This setup is designed to transform Neovim into a powerful, modern code editor tailored for web development and beyond. Inspired by the latest tools and plugins, this configuration is optimized for productivity, aesthetics, and functionality. Below is a concise overview of the setup and its features.


πŸš€ Features

This Neovim configuration includes:

  • Plugin Management: Powered by lazy.nvim, a fast and efficient plugin manager.
  • File Explorer: Enhanced with nvim-tree.lua for a modern file navigation experience.
  • Fuzzy Finder: telescope.nvim for seamless file and text searching.
  • Syntax Highlighting: tree-sitter for advanced syntax parsing and highlighting.
  • LSP Support: Integrated with mason.nvim for easy installation of language servers.
  • Auto-Completion: nvim-cmp with snippets, LSP integration, and VS Code-like icons.
  • Git Integration: gitsigns.nvim and lazygit.nvim for version control within Neovim.
  • Formatting & Linting: conform.nvim and nvim-lint for code formatting and linting.
  • UI Enhancements: Beautiful status lines with lualine.nvim, tabs with bufferline.nvim, and a sleek dashboard with alpha.nvim.
  • Custom Keymaps: Intuitive keybindings for navigation, splits, tabs, and more.
  • Session Management: auto-session.nvim for restoring your workspace effortlessly.

πŸ› οΈ Setup Instructions

Prerequisites

  1. Neovim: Ensure you have Neovim (v0.9.5 or higher) installed.
  2. Homebrew: For macOS/Linux, install dependencies like ripgrep, node, and nerd fonts.
  3. Git: Required for plugin management and version control.

Installation

  1. Clone this repository into your Neovim config directory:
    git clone https://github.com/your-username/neovim-config.git ~/.config/nvim
  2. Open Neovim:
    nvim
  3. Wait for lazy.nvim to automatically install all plugins.

🧩 Plugin Highlights

Core Plugins

  • lazy.nvim: Plugin manager for lazy-loading and efficient setup.
  • nvim-tree.lua: File explorer with icons and Git integration.
  • telescope.nvim: Fuzzy finder for files, text, and more.
  • tree-sitter: Advanced syntax highlighting and parsing.
  • mason.nvim: Easy installation of LSP servers, linters, and formatters.
  • nvim-cmp: Auto-completion with LSP, snippets, and VS Code-like icons.
  • lualine.nvim: Customizable status line.
  • bufferline.nvim: Enhanced tab management.

Git Integration

  • gitsigns.nvim: Git status in the gutter (added, modified, deleted lines).
  • lazygit.nvim: Terminal UI for Git commands.

Formatting & Linting

  • conform.nvim: Auto-formatting with Prettier, Black, and more.
  • nvim-lint: Linting with ESLint, Pylint, etc.

UI Enhancements

  • alpha.nvim: A sleek dashboard for Neovim.
  • tokyonight.nvim: A beautiful color scheme.
  • indent-blankline.nvim: Visual indentation guides.

🎨 Custom Keymaps

Here are some of the keybindings to supercharge your workflow:

Keybinding Action
<Leader>e Toggle file explorer (nvim-tree)
<Leader>ff Find files (telescope)
<Leader>fg Live grep (telescope)
<Leader>fr Recent files (telescope)
<Leader>fs Search string in project (telescope)
<Leader>gs Stage Git hunk (gitsigns)
<Leader>gu Undo Git hunk (gitsigns)
<Leader>gd Open Git diff (gitsigns)
<Leader>lg Open lazygit (lazygit.nvim)
<Leader>ca Code actions (LSP)
<Leader>rn Rename symbol (LSP)
<Leader>gd Go to definition (LSP)
<Leader>gr Go to references (LSP)
<Leader>mp Format file (conform.nvim)
<Leader>xx Open trouble.nvim for diagnostics

πŸ–₯️ File Structure

The configuration is organized as follows:

~/.config/nvim/
β”œβ”€β”€ init.lua              # Main entry point
β”œβ”€β”€ lua/
β”‚   β”œβ”€β”€ core/             # Core settings (options, keymaps)
β”‚   β”œβ”€β”€ plugins/          # Plugin configurations
β”‚   └── lsp/              # LSP configurations
└── README.md             # This file

🌟 Why This Setup?

This configuration is designed to:

  • Be highly customizable for different workflows.
  • Provide a modern IDE-like experience in Neovim.
  • Optimize performance with lazy-loading plugins.
  • Support web development and other programming languages.

πŸ“š Resources


πŸ™ Credits

This configuration was inspired by the video: How I Setup Neovim To Make It AMAZING In 2024 | Complete Guide. Special thanks to the creator for the detailed walkthrough.


Enjoy your new Neovim setup! If you have any questions or suggestions, feel free to open an issue or reach out. Happy coding! πŸš€


Made with ❀️ by [Daksh]
GitHub: GitDaksh

About

My configurations for an optimized Neovim setup for development. Features LSP, auto-completion, Git integration, and a sleek UI. Built for productivity with lazy-loading plugins and custom keybindings. πŸš€

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages