A modern, feature-rich Neovim configuration designed for productivity and ease of use
- 24+ Premium Themes - Tokyo Night, Catppuccin, Evergarden, Nord, and many more
- Modern StatusLine - Beautiful Lualine with Git integration and LSP status
- Smart Buffer Management - BufferLine with tabs and quick navigation
- File Explorer - NvimTree with Git status indicators
- Floating Terminal - Integrated terminal with multiple layouts
- GitHub Copilot - Intelligent code completion and suggestions
- Avante.nvim - Advanced AI assistant with Gemini integration
- Smart Snippets - LuaSnip with custom snippet collections
- 25+ Language Servers - Python, JavaScript/TypeScript, Go, Rust, Nim, V, and more
- Auto-formatting - Conform.nvim with language-specific formatters
- Linting - Real-time error detection with nvim-lint
- Debug Support - DAP integration for Python and other languages
- Treesitter - Advanced syntax highlighting and code parsing
- Smart Project Detection - Automatic project root detection
- Session Management - Restore your workspace exactly as you left it
- Git Integration - LazyGit, telescope git commands, and diff highlighting
- Workspace Navigation - Quick project switching and file finding
- Lazy Loading - Fast startup with lazy.nvim plugin management
- Fuzzy Finding - Telescope for files, buffers, and live grep
- Auto-completion - Intelligent completion with multiple sources
- Multiple Cursors - Edit multiple locations simultaneously
- Surround Operations - Quick text manipulation with nvim-surround
- Neovim 0.10+ - 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
# 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
:MasonInstallAll
to install all configured LSP servers - Setup Copilot: Run
:Copilot auth
to authenticate GitHub Copilot - Configure Python: Set your Python virtual environment with
<leader>cv
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 ββ cv Python venv
ββ 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:
- Tokyo Night (Default) - Modern dark theme
- Catppuccin - Soothing pastel theme
- Evergarden - Nature-inspired colors
- 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
- And many more...
Use <leader>th
to browse and switch themes instantly!
- Python - BasedPyright, Ruff formatting, virtual env support
- JavaScript/TypeScript - Biome, ESLint, Prettier
- Go - gopls, auto-formatting
- Rust - rust-analyzer, cargo integration
- Lua - lua-language-server, stylua formatting
- HTML/CSS - Auto-completion, formatting
- JSON/TOML - Validation, formatting
- Nim - Language server, custom formatting
- V Language - v-analyzer support
- C/C++ - clangd, clang-format
- PHP - phpactor, formatting
- Svelte - Full framework support
- Gleam - Modern functional language
- Docker - Dockerfile support
- Language servers via Mason
- Formatters (Biome, Prettier, Black, etc.)
- Linters (ESLint, Flake8, etc.)
- Debug adapters (Python 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
β βββ config/
β β βββ lazy.lua # Plugin manager config
β βββ plugins/ # Plugin specifications
β β βββ themes.lua # Theme plugins
β β βββ lsp.lua # LSP plugins
β β βββ telescope.lua # Fuzzy finder
β β βββ ai.lua # AI assistants
β β βββ ...
β βββ configs/ # Plugin configurations
β βββ conform.lua # Formatter config
β βββ lspconfig.lua # LSP settings
β βββ telescope.lua # Search config
β βββ ...
βββ ftplugin/ # Filetype-specific settings
βββ python.lua
βββ javascript.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/configs/lspconfig.lua
to add new language servers:
lspconfig["your_lsp"].setup({
-- your configuration
})
Customize project detection in lua/configs/proj.lua
:
project_dir_pattern = {
".git",
"package.json",
"Cargo.toml",
-- add your patterns
}
Plugins not loading?
:Lazy sync
LSP not working?
:MasonInstallAll
:LspInfo
Slow startup?
:Lazy profile
Copilot not working?
:Copilot auth
:Copilot status
Contributions 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! π