A modern, feature-rich Neovim configuration designed for productivity and ease of use
- 24+ Premium Themes - Catppuccin, Evergarden, Tokyodark, Tokyo Night, Nord, Kanagawa, Everforest, Melting, Vague, Flexoki, and more
- Modern StatusLine - Lualine with Git + LSP status (Tokyodark theme)
- Smart Buffer Management - BufferLine tabs with diagnostics
- Dual File Explorers - NvimTree (
<C-n>) + Neo-tree with Git/diagnostics - Command UI Enhancements - Noice.nvim for messages and cmdline UI
- Indent Guides + Scrollbar - indent-blankline + nvim-scrollbar
- Floating Terminal - nvterm with horizontal/vertical/float layouts
- GitHub Copilot - Intelligent code completion and suggestions
- Smart Snippets - LuaSnip with friendly-snippets
- Built-in LSP (Neovim 0.12) - basedpyright, lua_ls, vtsls, gopls, rust-analyzer, nimlangserver, intelephense, gleam, dockerls, clangd, and more
- Auto-formatting - Conform.nvim with Biome, Ruff, Stylua, gofmt, nimpretty, pint, clang-format, and more
- Linting - nvim-lint with Biome, flake8, htmlhint, jsonlint, phpstan
- DAP Core - nvim-dap installed (configure adapters per language)
- Project Switching + Sessions - neovim-project with session restore
- Git Integration - LazyGit, Telescope git commands, and diff highlighting
- Workspace Navigation - Project history + file pickers
- Lazy Loading - Fast startup with lazy.nvim plugin management
- Fuzzy Finding - Telescope for files, buffers, and live grep
- Auto-completion - nvim-cmp with LSP + snippets
- Multiple Cursors - Edit multiple locations simultaneously
- Auto-save - Background saves with auto-save.nvim
- Surround + Autopairs - nvim-surround and nvim-autopairs
- Neovim 0.12+ - Install Neovim
- Git - For cloning repositories
- Node.js 18+ - For LSP servers and Copilot
- Python 3.8+ - For Python development features
- Ripgrep - For telescope live grep functionality
- Tree-sitter CLI - Required for tree-sitter-manager parser installs
- LazyGit (optional) - For the LazyGit integration
# Backup your existing config (if any)
mv ~/.config/nvim ~/.config/nvim.backup
# Clone FrusaVim
git clone https://github.com/Frusadev/frusavim.git ~/.config/nvim
# Launch Neovim (plugins will auto-install)
nvim- Install Language Servers: Run
:MasonInstallAllto install all configured LSP servers - Setup Copilot: Run
:Copilot authto authenticate GitHub Copilot
Leader Key:
Space| π Full Documentation: mappings.md
| Category | Mapping | Action | Description |
|---|---|---|---|
| Files | <leader>ff |
Find files | Search files (including hidden) |
<leader>fw |
Live grep | Search text across all files | |
<leader>fb |
Find buffers | Search and switch between buffers | |
Ctrl+n |
File tree | Toggle NvimTree sidebar | |
| Navigation | gd |
Go to definition | Jump to symbol definition |
gr |
Show references | Display all symbol references | |
K |
Hover info | Show documentation | |
Tab / Shift+Tab |
Switch buffers | Navigate between open buffers | |
| Editing | <leader>/ |
Toggle comment | Comment/uncomment lines |
<leader>fm |
Format code | Format using LSP + Conform | |
<leader>ra |
Rename | Intelligent symbol renaming | |
du |
Duplicate line | Duplicate current line | |
| Git | <leader>lg |
LazyGit | Open LazyGit interface |
<leader>cm |
Git commits | Browse commit history | |
<leader>gt |
Git status | View git status | |
| Windows | <leader>v |
Vertical split | Split window vertically |
<leader>h |
Horizontal split | Split window horizontally | |
Ctrl+h/j/k/l |
Navigate | Move between windows | |
| Terminal | Alt+h/v/i |
Toggle terminal | Horizontal/Vertical/Float |
Ctrl+x |
Exit terminal | Return to normal mode | |
| Themes | <leader>th |
Theme selector | Browse and apply themes |
Leader Key: Space
Files & Search: Navigation: Editing:
ββ ff Find files ββ gd Go to definition ββ / Toggle comment
ββ fw Search text ββ gr Show references ββ fm Format code
ββ fb Find buffers ββ gi Implementation ββ ra Rename symbol
ββ fe File browser ββ K Hover info ββ ca Code actions
Buffers & Windows: Terminal & Git: Customization:
ββ Tab Next buffer ββ Alt+h H-terminal ββ th Themes
ββ S-Tab Prev buffer ββ Alt+v V-terminal ββ n Line numbers
ββ x Close buffer ββ Alt+i F-terminal ββ rn Relative nums
ββ v V-split ββ lg LazyGit ββ as Auto-save
ββ h H-split ββ Ctrl+x Exit terminal
π‘ Tip: Press
<leader>?to see buffer-local keymaps or check mappings.md for the complete reference with 100+ mappings!
FrusaVim comes with 24+ carefully selected themes:
- Catppuccin - Soothing pastel theme
- Evergarden - Nature-inspired colors
- Tokyodark - Modern dark theme
- Tokyo Night - Iconic neon palette
- Nord - Arctic-inspired palette
- Kanagawa - Japanese aesthetics
- One Dark Pro - Atom's iconic theme
- Everforest - Green forest theme
- Melting - Unique gradient theme
- Lackluster - Minimalist approach
- Ayu - Clean and elegant
- NeoSolarized - Classic Solarized
- Darkrose - Rose-tinted dark theme
- Vague - Soft, low-contrast theme
- PosterPole - Bold vintage palette
- Flexoki - Warm, balanced colors
- Oldworld - Vintage-inspired palette
- Shadotheme, Miramare, Spacegray, Xresources, Agila, and more
Use <leader>th to browse and switch themes instantly!
- Python - basedpyright, Ruff formatting
- JavaScript/TypeScript - vtsls, Biome formatting/linting
- Go - gopls, gofmt
- Rust - rust-analyzer
- Lua - lua-language-server, stylua formatting
- HTML/CSS - html-lsp, cssls, Tailwind CSS
- JSON/TOML - Validation + formatting (jsonlint, jq, taplo)
- Nim - nimlangserver, nimpretty formatting
- Gleam - gleam LSP + formatter
- C/C++ - clangd, clang-format
- PHP - intelephense, phpstan, pint
- Docker - dockerls + docker compose LSP
- Language servers via Mason (basedpyright, vtsls, gopls, rust-analyzer, nimlangserver, intelephense, clangd, dockerls)
- Formatters (Biome, Ruff, Stylua, gofmt, nimpretty, pint, clang-format)
- Linters (Biome, flake8, htmlhint, jsonlint, phpstan)
- Debug core (nvim-dap)
~/.config/nvim/
βββ init.lua # Entry point
βββ lazy-lock.json # Plugin version lock
βββ lua/
β βββ settings.lua # Core Neovim settings
β βββ mappings.lua # Key mappings
β βββ autocmds.lua # Auto commands
β βββ lsp/
β β βββ config.lua # LSP setup (Neovim 0.12)
β βββ config/
β β βββ lazy.lua # Plugin manager config
β β βββ lazycode.lua # VSCode-only plugins
β βββ code/
β β βββ init.lua # VSCode entry point
β βββ plugins/ # Plugin specifications
β β βββ ai.lua # AI assistants
β β βββ essential.lua # Core UX plugins
β β βββ general.lua # UI + tooling
β β βββ mason.lua # LSP/tool installers
β β βββ neotree.lua # Neo-tree explorer
β β βββ nvimtree.lua # NvimTree explorer
β β βββ telescope.lua # Fuzzy finder
β β βββ themes.lua # Theme plugins
β β βββ ...
β βββ configs/ # Plugin configurations
β βββ cmp.lua # Completion config
β βββ conform.lua # Formatter config
β βββ lualine.lua # Statusline config
β βββ neotree.lua # Neo-tree config
β βββ nvim-lint.lua # Linting config
β βββ term.lua # Terminal config
β βββ ...
βββ ftplugin/ # Filetype-specific settings
βββ go.lua
βββ nim.lua
βββ rust.lua
βββ text.lua
- Add theme plugin to
lua/plugins/themes.lua - Configure in
lua/configs/themes/ - Select with
<leader>th
Edit lua/mappings.lua to add your own mappings:
local map = vim.keymap.set
map("n", "<leader>custom", ":YourCommand<CR>", { desc = "Your description" })Modify lua/lsp/config.lua to add or remove language servers:
vim.lsp.enable("your_lsp", {
-- your configuration
})Customize project discovery in lua/plugins/essential.lua (neovim-project):
projects = {
"~/Workspace/Projects/Personal/*",
"~/Workspace/Projects/Pro/*",
"~/Workspace/Projects/Forks/*",
"~/.config/*",
}Plugins not loading?
:Lazy syncLSP not working?
:MasonInstallAll
:LspInfoSlow startup?
:Lazy profileCopilot not working?
:Copilot auth
:Copilot statusContributions are welcome! Please feel free to submit issues and pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Neovim - The amazing editor
- lazy.nvim - Plugin manager
- Mason.nvim - LSP installer
- Telescope.nvim - Fuzzy finder
- All the amazing plugin authors and contributors
Made with β€οΈ by Frusadev
Happy coding! π