A modern, productive Neovim distribution ready for the real world.
Turn your terminal into a full-featured IDE, no hassle.
πΊπΈ English Β· π§π· PortuguΓͺs
![]() |
![]() |
![]() |
![]() |
Rosavim is a Neovim distribution for developers who want a complete, fast, and beautiful setup without spending hours configuring from scratch. It ships with first-class support for the most popular languages and frameworks β clone it and start coding.
Built on Lazy.nvim, it loads plugins lazily to keep startup fast, and comes with a suite of built-in "rosa" plugins (terminal, test runner, file operations, project navigator, and more) so most of what you need works out of the box.
# Back up your current config (if any)
mv ~/.config/nvim ~/.config/nvim.bak
# Clone Rosavim
git clone https://github.com/pedrorcruzz/rosavim.git ~/.config/nvim
# Launch β plugins install automatically
nvimOn first launch, Lazy.nvim installs the plugins and Mason sets up LSP servers, formatters, linters, and debug adapters.
Requirements
| Dependency | Version |
|---|---|
| Neovim | >= 0.12 |
| Git | >= 2.19 |
| Node.js | >= 18 |
| Python | >= 3.10 |
| Nerd Font | Any |
| ripgrep | Any |
Recommended: lazygit (Git UI) Β· yazi (file manager) Β· chafa (dashboard image)
Full step-by-step guide (backup, dependencies, troubleshooting): Installation Manual.
Detailed guides live in docs/manual:
Installation Β· Keybindings Β· Plugins Β· Languages Β· Debugging Β· Customization Β· Toggles
Editor & Navigation
- blink.cmp β Rust-powered completion engine, blazingly fast
- Native snippets (
vim.snippet) + friendly-snippets, managed by Rosasnippets β interactive panel with fuzzy search, per-language starter presets, and live preview - Native Treesitter (Neovim 0.12+) for precise highlighting and indentation
- Format on save (conform.nvim) and auto-save on focus loss
- Snacks Picker for fuzzy finding files, grep, and buffers
- Flash.nvim for jump-anywhere navigation with visual labels
- GrugFar for project-wide search & replace (ripgrep)
- Persistent toggles β UI settings survive across sessions
Git, Debug & Testing
- Gitsigns β inline change indicators and per-line blame
- Built-in lazygit integration
- DAP β full debugger with UI, breakpoints, and inline variable inspection
- Rosatest β built-in test runner with popup UI: run nearest / file / all tests. Supports Go, Jest, Vitest, Pytest, Pest, PHPUnit, and Java
AI
- GitHub Copilot integrated into completion
- RosaAI β native AI CLI integration (Claude, Cursor, Gemini, β¦) with a themed, resizable in-editor window and preview prompt
UI & Appearance
- 3 built-in themes β Rosamin (default, minimal), Rosavintage (warm, earthy), and Rosanight (minimalist monochrome / OLED black), all with dark/light mode and transparency
- Dashboard, Lualine statusline (selectable separators), Bufferline tabs, Dropbar breadcrumbs, Incline floating filenames, and Noice for modern messages
- One-shortcut dark/light and theme switching
Built-in "Rosa" plugins
| Plugin | What it does |
|---|---|
| Rosaterm | Native float & split terminals β no external deps. Cycle floats, themed title chip, persistent toggles |
| Rosatest | Test runner with popup results (Go, Jest, Vitest, Pytest, Pest, PHPUnit, Java) |
| Rosakit | Language-aware project navigator with automatic stack detection (React, Next, Vue, Angular, Svelte, Nest, Express, Go, Django, FastAPI, Laravel, Spring) β monorepo support |
| Rosafile | File operations menu β create, rename, duplicate, delete, info |
| Rosapreview | LSP preview (definition, type, implementation, references) in a floating window |
| Rosapoon | Bookmark and jump between frequently used files, scoped per git repo |
| Rosadirs | Manage Projects & Obsidian vault directories at runtime |
| Rosasnippets | Snippet manager β browse/search your snippets, 4-step creation wizard with per-language starter presets (plus your own), live preview, hot reload into completion |
| Rosapick | Visual window picker with letter labels |
| Rosamaximize | Maximize the current window and restore the full layout β with a max badge and a lualine indicator (configurable via <leader>lam) |
| Rosazen | Distraction-free mode β maximizes and centers the current window, hides all UI chrome, keeps floating tools (Rosaterm/RosaAI/Yazi/Lazygit) usable, and persists across sessions |
| Rosayank | Persistent yank history (ring buffer) |
| Rosasave | Debounced auto-save |
| Rosasweep | Auto-closes inactive buffers |
Extras
- Database Client (vim-dadbod) with UI for SQL
- Obsidian integration for notes
- Discord Presence
The plugin system is modular β add, remove, or swap plugins to match your workflow.
Full support (LSP, formatting, linting, testing, debugging) for the most popular stacks:
Show support table
| Language | LSP | Formatter | Linter | Tests | Debug |
|---|---|---|---|---|---|
| TypeScript / JavaScript | tsgo | Biome / Prettier | Biome / eslint_d | Jest / Vitest | β |
| React / JSX / TSX | tsgo | Biome / Prettier | Biome / eslint_d | Jest / Vitest | β |
| Go | gopls | goimports | golangci-lint | gotestsum | Delve |
| Python | basedpyright | autopep8 | Mypy / Pylint | pytest | debugpy |
| Java | JDTLS | google-java-format | Checkstyle | Gradle | Remote Attach |
| PHP / Laravel | Intelephense | php-cs-fixer | phpcs | Pest | Xdebug |
| HTML / CSS | Emmet + Tailwind | Prettier | djlint | β | β |
| SQL | sqlls | sql_formatter | β | β | β |
| Lua | lua_ls | StyLua | β | β | β |
| JSON | json_ls | Prettier | Biome | β | β |
Not listed? Rosavim uses Mason as its tooling backbone β Rust, C/C++, Kotlin, Ruby, Elixir, Zig, and many more can be added in minutes.
Rosavim ships with 3 built-in themes, fully integrated with dark/light and transparency toggles.
Rosavintage β warm, earthy tones
| Code (Dark) | Dashboard (Dark) | Code (Light) | Dashboard (Light) | Transparent |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
Rosanight β minimalist monochrome (OLED black / cool white)
A strictly monochrome night theme: OLED-black (#000000) background with a cool white/grey ramp and no saturated colors. In light mode it inverts onto a soft #D3D2CE base. Full dark/light and transparency support.
Leader key:
<Space>Β· Press<leader>anytime to open which-key and browse everything.
Show essential shortcuts
Files & Navigation
| Key | Action |
|---|---|
<leader><space> |
Find files |
<leader>e |
File explorer |
<leader>y |
Yazi file manager |
<leader>; |
Dashboard |
s |
Flash jump |
<leader>oo / <leader>oe |
Rosapoon: pin / menu |
Search & Code
| Key | Action |
|---|---|
<leader>sg |
Live grep |
<leader>sw |
Grep word under cursor |
<leader>lee |
Search & replace (GrugFar) |
gd / gr / gI |
Definition / references / implementation |
gp |
Rosapreview definition |
<leader>lf |
Format file |
<leader>xx |
Rosafile menu |
<leader>kk |
Rosakit menu |
Git, Test & Debug
| Key | Action |
|---|---|
<leader>gg |
Lazygit |
<leader>gt |
Toggle git blame |
<leader>nn |
Rosatest menu |
<leader>nf |
Run file tests |
<leader>ds |
Start / continue debug |
<leader>db |
Toggle breakpoint |
Windows, Terminal & AI
| Key | Action |
|---|---|
<C-h/j/k/l> |
Move between splits |
<leader>m |
Rosapick (window picker) |
<leader>cm |
Rosamaximize |
<leader>lz |
Rosazen (distraction-free mode) |
<C-\> / <S-z> |
Rosaterm: toggle float |
<S-x> |
Rosaterm: horizontal terminal |
<leader>cii / <leader>cie |
Rosaterm: vertical / horizontal split |
<leader>aa |
RosaAI: toggle CLI |
UI & Misc
| Key | Action |
|---|---|
<leader>lqt |
Toggle dark/light mode |
<leader>lqs |
Switch theme (rosamin / rosavintage / rosanight) |
<leader>lqy |
Toggle lualine bar-y transparency |
<leader>lp |
Rosadirs (manage project dirs) |
<leader>lo |
Rosasnippets (snippet manager) |
<leader>ll |
Toggle statusline |
<leader>ly |
Toggle cursor shape (block β thin bar) |
<leader>lY |
Toggle current-line highlight |
kj |
Exit insert mode |
Full reference: Keybindings Manual.
Show structure
~/.config/nvim/
βββ init.lua # Entry point
βββ lua/rosavim/
β βββ init.lua # Bootstrap
β βββ config/ # options, keybinds, appearance, autocmds, toggles, focus
β βββ plugins/
β β βββ env/ # LSP, Mason, Treesitter, DAP, lint, format, git
β β βββ ai/ # Copilot, RosaAI
β β βββ ui/ # themes, statusline, dashboard, bufferline, noice
β β βββ editor/ # terminal, navigation, file ops, projects
β β βββ coding/ # flash, surround, multi-cursor, refactoring
β β βββ language/ # language-specific (Laravel, Spring, Django, β¦)
β β βββ test/ # Rosatest
β βββ rosa_plugins/ # built-in plugins (see Features)
β β βββ rosaterm/ rosatest/ rosakit/ rosafile/
β β βββ rosapreview/ rosapoon/ rosadirs/ rosapick/ rosasnippets/
β β βββ rosamaximize/ rosazen/ rosayank/ rosasave/ rosasweep/
β β βββ rosaai/
β βββ rosa_themes/
β βββ rosamin/ # default theme (minimal)
β βββ rosavintage/ # earthy, warm theme
β βββ rosanight/ # minimalist monochrome (OLED)
βββ lsp/ # individual LSP configs
βββ snippets/ # VSCode-format snippets (managed by Rosasnippets, <leader>lo)
βββ assets/ # logo and screenshots
Built with care by Pedro Rosa








