CharVim

Neovim, crafted for flow.

v1.5.2 Latest release
10+ LSP Servers
3 Color Themes
6 Linters
5 DAP Adapters
4 Platforms

Everything you need.
Nothing you don't.

CharVim bundles a carefully chosen set of plugins and custom modules. Opinionated enough to feel cohesive, flexible enough to make your own.

Lazy-loaded plugins

Built on lazy.nvim with per-filetype loading. Your editor starts fast and stays fast, no matter how many plugins are installed.

🧠

Full LSP suite

Ten language servers pre-configured for Lua, Python, TypeScript, Java, Kotlin, Go, C/C++, Swift, Typst, and XML. All installed and managed through Mason.

🤖

AI assistance

avante.nvim powered by Anthropic Claude for inline code chat and AI-assisted editing. Just set ANTHROPIC_API_KEY and go.

🐛

Debug Adapter Protocol

DAP configured for Python, Java, C/C++, Swift, and Kotlin. The debug UI opens automatically when a session starts and closes when it ends.

🎨

Three themes

Knew-pines, Noir-cat, and Dark. Switch between them at runtime with a live Telescope preview, and your choice carries over between sessions.

🔎

Find and Replace panel

A custom nui.nvim panel backed by ripgrep. Live search with file preview, project-wide regex replace, and LSP rename when available.

📌

Harpoon 2

Quick file bookmarks with Alt+1 through Alt+5 jumps. Navigate your five most important files in a single keystroke.

✏️

Multi-cursor

Native multi-cursor implementation with no plugin dependency. Add cursors above or below with Ctrl+↑ and Ctrl+↓, then type at all positions at once.

🖥️

Cross-platform setup

One install script, four platforms: macOS via Homebrew, Fedora, Debian/Ubuntu, and Arch Linux. Missing dependencies get installed automatically.

Three themes.
Click to switch.

All themes are available inside Neovim via :ThemeSelect. The site reflects whichever theme you pick.

knew-pines
local M = {}
function M.setup(opts)
  local theme = "knew-pines"
  -- warm rose-pine palette
  vim.cmd("colorscheme " .. theme)
end
return M
noir-cat
local M = {}
function M.setup(opts)
  local theme = "noir-cat"
  -- dark catppuccin-inspired
  vim.cmd("colorscheme " .. theme)
end
return M
dark
local M = {}
function M.setup(opts)
  local theme = "dark"
  -- minimal github-dark palette
  vim.cmd("colorscheme " .. theme)
end
return M

One command to get started.

The install script detects your OS and installs all required dependencies before symlinking the config into place.

bash <(curl -s https://raw.githubusercontent.com/CrtlUserKnown/Charvim/main/setup.sh)
Manual install guide