a Vim-based editor evolving in Rust
Features
Extensible
- Repeat anything with
CmdAtom. - Create Lua plugins easily.
Your config lives in
init.lua! - API is discoverable, versioned, documented.
- Ubiquitous RPC enables extensions in any language.
- GUIs, IDEs, web browsers can
nvim --embedas editor or script host. - Tree-sitter parsing enables accurate syntax highlighting, text-objects, and more.
Usable
- Multicursor instantly replays commands and mappings on a set of marks.
- Strong defaults include a unique, minimalist colorscheme.
- LSP provides semantic code inspection and refactoring.
- Multiplex with :connect, :detach, :restart (like tmux, but works everywhere).
- No “Press ENTER” messages (ui2).
- Works the same everywhere: one build-type, one command.
- Modern terminal features are enabled by default: progress bar, cursor styling, focus events, bracketed paste, ….
- Builtin :terminal set the standard for “TTY as a basic component”.
Drop-in Vim
- Fully compatible with Vim’s editing model and Vimscript v1.
- Start with
:help nvim-from-vimif you already use Vim. If not, try:Tutor.
Community
- Follow development and contribute to Rustvim on GitHub.
- Report bugs and request features.
- Read the news and roadmap for project updates.
FAQ
What is the project status?
Rustvim is under active development toward release 0.1.0. See the
news and roadmap for progress and plans.
Is Rustvim trying to turn Vim into an IDE?
The vision of Rustvim is to preserve Vim’s editing model while
improving the implementation and supporting extensions and external interfaces.
In addition, we would like to be able to write an editor in a modern language.
Will Rustvim deprecate Vimscript?
No. Rustvim retains Vimscript support alongside its built-in Lua interface.
In the roadmap we would like to fully support the original vim development.
Which plugins does Rustvim support?
Rustvim aims to preserve existing Vimscript and Lua plugin behavior as the
implementation moves to Rust. We aim to be fully compatible with the neovim
modulo bugs that will arise during migration. Report compatibility issues in
the issue tracker.
GUIs
Rustvim retains the editor UI protocol. These third-party interfaces may need configuration to use a Rustvim build:
- Firenvim (an editor in your web browser!)
- vscode-neovim (an editor in VSCode!)
- Neovide
- Goneovim
- GNvim (GTK4)
- FVim
- Nvy
- Neovim Qt (Qt5)
- VimR (macOS)
- More…
Rustvim logos
Rustvim logo adaptations are licensed under the Apache License 2.0. The original logos are by Jason Long, licensed under CC BY 3.0.