Repository navigation
Releases
WraithVim 0.12.0
See who changed each line (like GitLens)
Move to any line in a Git project and its history appears at the end of the line, in dim text:
from collections.abc import Callable Ana, 3 weeks ago • Add Portal integration
Lines you changed but haven't committed show You • Uncommitted changes.
| Key | Does |
|---|---|
Space g t |
Hide / show the line blame |
Space g Shift+B |
Full commit for this line (message and date) |
It's on by default. To turn it off for good, put line_blame = false in ~/.config/wraithvim/ui.lua. It only updates when you move the cursor, so it costs nothing while you read.
Update
Run :Update inside WraithVim, or press Space u u.
WraithVim 0.11.0
Autocomplete and error checking for 29 languages
Open a file and WraithVim offers to set up its language for you, once:
Go: install the tools for completion, error checking and formatting?
gopls (language server)
gofumpt (formatter)
[I]nstall (N)ot now Ne(v)er for Go
Press i. The tools install in the background, and a moment later the file you have open gets:
- smart autocomplete for your code and its libraries (type
fmt.and see every function) - errors and warnings as you type: underlined, with the message at the end of the line
- lint checks: ESLint (JS/TS), Ruff (Python), staticcheck (Go), Clippy (Rust), clang-tidy (C/C++), ShellCheck (Bash)
- go to definition, hover docs (
K), rename (Space r n), quick fixes (Space c a) - formatting with
Space c f
No restart needed.
Languages: JavaScript, TypeScript, Python, Go, Rust, Java, Kotlin, C, C++, C#, PHP, Ruby, Lua, Bash, SQL, HTML (with Emmet), CSS / SCSS / Less, JSON, YAML, TOML, Markdown, Dockerfile, Terraform, GraphQL, Svelte, Elixir, Prisma, Nix, Dart / Flutter, Swift.
| Key | Shows |
|---|---|
Space d d |
Problems on this line |
Space d n / Space d p |
Next / previous problem |
Space d x |
Search all problems |
Good to know:
- Some tools need their language installed first. For example, Go tools need Go, and web tools need Node.js. The prompt tells you when something is missing.
- Not now asks again next time. Never stops asking for that language.
:InstallToolsinstalls everything at once. - Prefer no questions? Put
mason = { auto_install = "always" }in~/.config/wraithvim/options.lua. - Tools you already installed yourself are used first.
Update
Run :Update inside WraithVim, or press Space u u, then restart.
WraithVim 0.10.1
Search finds every file you can see
File search (Space Space) and text search (Space /) now find files ignored by .gitignore too, like .env or files in dist/. Anything you can see in the explorer, you can now search.
Like VS Code, .git and node_modules are skipped so results stay fast and useful. To search inside node_modules too, put this in ~/.config/wraithvim/options.lua:
return {
search = { exclude = { ".git" } },
}Update
Run :Update inside WraithVim, or press Space u u.
WraithVim 0.10.0
The explorer shows every file
Nothing is hidden anymore. The explorer now shows:
- dotfiles like
.envand.github - files ignored by
.gitignore, such asdist/(dimmed, like in VS Code) .gitandnode_modules
No more "(4 hidden items)".
Prefer to hide some folders again? Put this in ~/.config/wraithvim/ui.lua:
return {
explorer = {
hide = { ".git", "node_modules" },
show_gitignored = false, -- also hide files ignored by .gitignore
},
}Shift+H (with the cursor in the explorer) still shows hidden items for a moment.
Update
Run :Update inside WraithVim, or press Space u u.
WraithVim 0.9.0
Material icons in the explorer
The explorer now looks like VS Code's Material Icon Theme. Folders get their own icon and color by name:
| Folder | Looks like |
|---|---|
src |
green folder |
docs |
blue folder with text |
tests |
teal folder with a check |
scripts |
amber folder with a play button |
.github / .git / node_modules |
GitHub / Git / npm folders |
config, assets, dist, lib, utils, types, api, styles, … |
each its own icon and color |
| anything else | blue-grey folder |
Files keep their colored type icons, and README, CHANGELOG, LICENSE and CONTRIBUTING get their Material icons.
Want different colors? Set them in ~/.config/wraithvim/ui.lua, for example colors = { WraithIconGreen = { fg = "#a6e3a1" } }.
Fixed: missing icons
Some icons showed up blank: folder icons, the default file icon, error and warning signs, Git status marks, the terminal header and dashboard icons, and the rounded statusline edges. They are all back, and a test now makes sure they can't go missing again.
You need a Nerd Font in your terminal, as before.
Update
Run :Update inside WraithVim, or press Space u u.
WraithVim 0.8.0
Creating files is easy now
Pick whichever way feels natural:
| Do this | Creates |
|---|---|
| Click File or Folder at the top of the explorer | In the selected folder |
| Right click a folder or file in the explorer → New File / New Folder | In that folder |
Press a (file) or A (folder) on an explorer item |
In that folder |
Press Space n (or Space Shift+N for a folder) anywhere |
Next to the file you are editing |
The prompt already contains the folder, for example src/components/. You only type the name and press Enter, and the new file opens right away.
api/v2/routes.luacreates the missing folders for you- a name ending in
/creates a folder - an existing file is opened, never overwritten
Esccancels
The right-click menu also has Open to the Side, Rename, Delete, Copy Path, Refresh and Collapse All.
Update
Run :Update inside WraithVim, or press Space u u.
WraithVim 0.7.0
Files update by themselves
When an AI CLI, a formatter or git checkout changes a file you have open, WraithVim reloads it right away. You no longer have to switch windows or run :e. It uses your system's file events, so nothing runs while files sit still.
Unsaved edits are never thrown away. If a file changes on disk while you are editing it, you get a warning instead:
:DiffDiskshows your version and the disk version side by side:e!loads the disk version:wkeeps yours
The explorer also updates when files are created or deleted outside Neovim.
Faster scrolling
| Press | Does |
|---|---|
| Mouse wheel | 6 lines per notch (was 3) |
Ctrl+D / Ctrl+U |
Half a page, cursor stays in the middle |
Alt+J / Alt+K |
Jump 10 lines |
} / { in the explorer |
Next / previous folder |
Want it even faster? Put scroll = { wheel = 10 } in ~/.config/wraithvim/options.lua.
A Git graph you can read
Each line is one commit: hash, branch and tag names, message, author and "2 days ago". Branches have their own colors and the branch you are on is green. A header lists the keys:
| Key | Does |
|---|---|
Enter |
Open the commit |
d |
Diff of the commit |
c |
Check it out (asks first) |
y |
Copy the hash |
a |
Show / hide other branches |
q |
Close |
Space g g now shows your current branch. Space g Shift+G (or :GitGraphAll) shows every branch.
Update
Run :Update inside WraithVim, or press Space u u.
WraithVim v0.6.1
Download it
Releases now include wraithvim.tar.gz:
curl -LO https://github.com/cachewraith/wraithvim/releases/latest/download/wraithvim.tar.gz
tar -xzf wraithvim.tar.gz && cd wraithvim && ./install.shRun from the archive, install.sh sets up a normal Git install, so :Update / Space u u keep working (offline it falls back to copying the files).
Upgrade
Space u u (or :Update), then restart Neovim.
WraithVim v0.6.0 — actions palette & readable keys
Don't remember keys? Search actions by name
Press Space p (or F1, Ctrl+Shift+P, or type :Actions), type what you want — pull, graph, terminal, format — and press Enter. Every action is listed with its key, so you learn them as you go:
Git: Pull Space g Shift+P
Git: Graph (all branches) Space g g
Command: Commit graph ... :GitGraph
Keys in plain words
The cheatsheet (Space ?), the palette and the docs now show keys the way you press them:
| Before | Now |
|---|---|
<leader>gP |
Space g Shift+P (Space, then g, then hold Shift and press p) |
<C-s> |
Ctrl+S |
<S-A-Down> |
Shift+Alt+Down |
More : commands
:Explorer, :FindFile, :Search, :CloseTab join :GitPull, :GitGraph, :Terminal, :Update and the rest.
Upgrade
Space u u (or :Update), then restart Neovim.
WraithVim v0.5.0 — git graph & easier keys
Git graph
Space g g (or :GitGraph) shows a commit graph of all branches. Enter on a commit opens it, gq closes the graph.
Easier keys
Press Space and wait — a popup now shows every key you can press next and what it does.
| Key | Action |
|---|---|
Space Space |
Find file |
Space / |
Search text in project |
Space e / Space E |
Explorer / show current file in it |
Space t |
Terminal |
Space x |
Close tab |
Space , |
Switch tab |
Space q |
Quit (asks to save) |
Space g g |
Git graph |
Space u u |
Update WraithVim |
Space u h / u p / u c |
Health check / plugins / your settings folder |
Space T n, T h, T v, T f, T c |
More terminals: beside, below, right, floating, kill |
Every key now has a clear description in the popup, in Space ? and in docs/keymaps.md.
Moved keys
Space ee → Space e, Space ef → Space E, Space eg → Space ge, Space tt → Space t, Space th/tv/tf/tn/tc → Space Th/Tv/Tf/Tn/Tc, Space fd → Space cf.
Startup is unchanged (≈19 ms, 2 of 21 plugins load at startup) and idle CPU stays at zero.
Upgrade
Space u u (or :Update), then restart Neovim.