Skip to content

Rinfella/vanilla-nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Neovim Configuration

Directory Structure

.
├── init.lua                      # Main entry point
├── lazy-lock.json                # Generated by lazy.nvim
├── lua/
│   ├── core/                     # Core configuration
│   │   ├── init.lua              # Loads all core modules
│   │   ├── keymaps.lua           # All keybindings in one place
│   │   └── options.lua           # Vim options and settings
│   └── plugins/                  # Plugin configurations
│       ├── init.lua              # Plugin loader
│       ├── cmp.lua               # Completion plugin config
│       ├── lsp.lua               # LSP configuration
│       ├── telescope.lua         # Telescope config
│       ├── treesitter.lua        # Treesitter config
│       └── ui.lua                # UI-related plugins (themes, lualine, etc.)
└── README.md                     # Documentation

Features

  • Modular Organization: Each component of the configuration is in its own file
  • Lazy Loading: Plugins load only when needed for faster startup
  • LSP Support: Full Language Server Protocol integration with Mason
  • Code Completion: Powerful completion with nvim-cmp, codeium and copilot
  • Syntax Highlighting: Advanced highlighting with Treesitter
  • Fuzzy Finding: Fast file navigation with Telescope
  • File Explorer: Integrated with Neo-tree and telescope file browser
  • Aesthetic UI: Beautiful UI with TokyoNight theme and Lualine

Installation

Install requires Neovim 0.9+. Always review the code before installing a configuration.

  1. Back up your existing Neovim configuration (if any):

    mv ~/.config/nvim ~/.config/nvim.bak
  2. Clone this repository:

    git clone https://github.com/Rinfella/vanilla-nvim.git ~/.config/nvim
  3. Start Neovim:

    nvim
  4. Lazy.nvim will automatically install all plugins on first launch.

Keybindings

See lua/core/keymaps.lua for all keybindings.

General

  • <Leader>w - Save file
  • <Leader>q - Quit
  • <Esc> - Clear search highlights

Navigation

  • <Leader>e - Open file explorer (Neo-tree)
  • <Leader>ff - Find files
  • <Leader>fg - Live grep
  • <Leader>fb - Find buffers
  • <Leader>fh - Find help tags

LSP

  • K - Hover documentation
  • gd - Go to definition
  • gD - Go to declaration
  • gi - Go to implementation
  • gr - Find references
  • <Leader>rn - Rename
  • <Leader>ca - Code action
  • <Leader>D - Type definition
  • <Leader>ds - Document symbols
  • <Leader>ws - Workspace symbols

Plugins

colorscheme

comment

completion

diagnostics

editing-support

file-explorer

fuzzy-finder

git

icon

indent

keybinding

lsp

lsp-installer

markdown-and-latex

marks

nvim-dev

plugin-manager

session

snippet

startup

statusline

syntax

terminal-integration

utility

About

Neovim configuration by me from scratch..

Topics

Resources

Stars

Watchers

Forks

Languages