Neovim that feels like home

A lightweight Neovim distribution with the comfort of VS Code — explorer, tabs, search, LSP, a Git graph and a real terminal panel — that still starts in ~19 ms and uses zero CPU while you think.

git clone https://github.com/cachewraith/wraithvim ~/.local/share/wraithvim ~/.local/share/wraithvim/install.sh
downloads
—
release
—
startup
19 ms
idle cpu
0%
memory
27 MiB

Startup, CPU and memory measured on an i7-13620H with scripts/benchmark.sh. Downloads count the release archive; most people git clone.

~/.local/share/wraithvim/install.sh

Install in a minute

You need Neovim 0.12+ and Git on Linux. Your existing ~/.config/nvim is backed up, never deleted, and nothing needs sudo.

  1. 1Get the tools

    sudo pacman -S --needed neovim git ripgrep fd make gcc

    A Nerd Font in your terminal gives you file and folder icons. Not required — WraithVim falls back to plain text.

  2. 2Install WraithVim

    git clone https://github.com/cachewraith/wraithvim ~/.local/share/wraithvim ~/.local/share/wraithvim/install.sh

    Want to look first? install.sh --dry-run prints every step and changes nothing. To try it next to your current setup: install.sh --appname wvim, then NVIM_APPNAME=wvim nvim.

  3. 3Open it

    nvim

    The first start downloads the pinned plugins (a few seconds). Then run :Health to see what is installed and what is optional.

update

Inside WraithVim press Space u u (or type :Update), then restart. Your settings in ~/.config/wraithvim/ are never touched.

uninstall

~/.local/share/wraithvim/uninstall.sh asks before every step, restores your old config from its backup and keeps your settings.

~/.local/share/wraithvim/docs/first-steps.md

Your first ten minutes

Coming from VS Code? These are the only things you need. Keys are pressed one after another — Space g g means Space, then g, then g.

  1. The one new idea: two modes

    In Normal mode keys are commands; in Insert mode keys type text. Press i to start typing and Esc to stop. The statusline always shows which mode you are in.

  2. Press Space and wait

    A popup lists every key you can press next. You never have to memorise anything — Space e opens the explorer, Space ? shows them all.

  3. Find anything

    Space Space finds a file by name, Space / searches text in the whole project. Click a file in the explorer to open it.

  4. A terminal at the bottom

    Space t or Ctrl+Shift+` opens it. Click inside to type, Esc Esc to scroll and copy, Hide in its header to tuck it away.

  5. Forgot a key? Search for it

    Space p (or F1) lists every action by name with its key — type pull, graph, format, press Enter.

  6. Git without leaving

    Space g g draws the commit graph, Space g s shows status, Space g c commits. Merge conflicts open in a three-way view.

WraithVim app.tsserver.ts api main
NORMAL mainsrc/app.ts typescriptutf-87:18
Watch the keys

Save & close

Ctrl+S save · Space x close tab · Space q quit

Move around

Click tabs and files, scroll with the wheel, drag split edges to resize.

Code

gd definition · K hover · Space c a fix · Space r n rename

Stay current

Space u u update · Space u h health check

~/.local/share/wraithvim/docs/keys.md

Every key, searchable

Generated from WraithVim's own key registry (), so it is always right. Shift+P means hold Shift and press P.

PressDoesGroup

VS Code keys need return { preset = "vscode" } in ~/.config/wraithvim/keymaps.lua.

~/.local/share/wraithvim/lua/wraithvim/features.lua

What's inside

An IDE's worth of tools, loaded only when you use them.

editor

  • File explorer with icons, Git status and single-click open
  • Clickable tabs, dashboard, notifications
  • Fuzzy find files and text (ripgrep, fd)
  • Full mouse support — click, drag, scroll, select
  • Default, compact and minimal layouts

git

  • Commit graph of all branches
  • Change markers, stage & undo hunks, blame
  • Status, commit, amend, push, pull, branches
  • Side-by-side diffs and file history
  • Three-way merge conflicts on Git's index stages

code

  • Native LSP: definition, references, rename, fixes
  • Completion with snippets
  • Format on demand or on save
  • Treesitter highlighting, on demand
  • Nothing installed behind your back (Mason optional)

languages

LanguageLanguage serverFormatter
PHPintelephensepint
JavaScript / TypeScriptvtslsprettier
Pythonbasedpyrightruff
Gogoplsgofumpt
C / C++clangdclang-format
Javajdtlsgoogle-java-format
Lualua-language-serverstylua
SQL · Bash · YAMLsqls · bashls · yamllssql-formatter · shfmt · prettier

Each starts only when its tool is installed and a matching file is open.

performance

19msstartup
0%idle CPU
27MiBmemory
55msLSP ready

No timers, no polling, no file watchers while you are idle. Enforced by the test suite.

~/.config/wraithvim/

Make it yours

Your settings live in small files that updates never touch. Mistakes are reported, not fatal.

-- VS Code shortcuts: Ctrl+P, Ctrl+B, Ctrl+`, Ctrl+/, F12 …
return {
  preset = "vscode",
  disable = { "s", "S" },        -- remove keys you don't want
  { "n", "<leader>qq", "<cmd>qa<cr>", desc = "Quit all" },
}

:Ready? Install WraithVim · read the docs · star it on GitHub

~/.local/share/wraithvim/CHANGELOG.md

What's new

Straight from the GitHub release notes, newest first. To get the latest, press Space u u in WraithVim and restart.

  1. Loading release notes…

All releases on GitHub → · full changelog