Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

172 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Rosavim

Rosavim

A modern, productive Neovim distribution ready for the real world.

Neovim Lua License

Turn your terminal into a full-featured IDE, no hassle.

πŸ‡ΊπŸ‡Έ English Β· πŸ‡§πŸ‡· PortuguΓͺs

Rosamin Dashboard Dark Rosavintage Dashboard Light
Rosamin Code Dark Rosavintage Code Light

What is Rosavim?

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.

Quick Start

# 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
nvim

On 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.

Documentation

Detailed guides live in docs/manual:

Installation Β· Keybindings Β· Plugins Β· Languages Β· Debugging Β· Customization Β· Toggles

Features

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.

Languages & Frameworks

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.

Themes

Rosavim ships with 3 built-in themes, fully integrated with dark/light and transparency toggles.

Rosamin β€” minimal, clean, focused (default)
Code (Dark) Dashboard (Dark) Code (Light) Transparent
Rosamin Code Dark Rosamin Dashboard Dark Rosamin Code Light Rosamin Transparent
Rosavintage β€” warm, earthy tones
Code (Dark) Dashboard (Dark) Code (Light) Dashboard (Light) Transparent
Rosavintage Code Dark Rosavintage Dashboard Dark Rosavintage Code Light Rosavintage Dashboard Light Rosavintage 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.

Key Shortcuts

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.

Project Structure

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

About

Rosavim - Neovim distribution

Topics

Resources

Security policy

Stars

21 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages