NOTE: Due to neovim/neovim#13196, if you have
conceallevel
set to a value higher than 0 CPU usage may be abnormally high. See #39 (comment).
Uivonim is a fork of Veonim, "a simple modal IDE built on Neovim and VSCode extensions" written in Electron with WebGL GPU rendering and multithreading. The goal of Uivonim is to use Veonim as a base for building a feature-rich cross-platform GUI that leverages the latest Neovim features (floating windows, builtin LSP, Lua) without reliance on VSCode extensions.
- 100% compatibility with Neovim (see #9421)
- All configuration done via vimrc with vimscript/Lua/remote plugins
- GUI features and eyecandy
- Full support for international keyboard layouts and dead keys (tested on macOS and Linux)
- Fast, building upon the work done by @breja, with things like WebGL GPU rendering and multithreading
- Extensibility via a Lua API providing access to frontend GUI features such as LSP hover/signature help/symbols and a fuzzy finder UI
Download the latest GitHub release, or build from source (see the "build" section at the bottom of this README). Alternatively, if you use Arch Linux, there is an AUR package for uivonim, kindly created by @SilverRainZ (see #55).
Install the following things:
- node/npm
- latest Neovim (i.e., nightly or built from master)
Then run:
npm ci
- standard issue download 5 million node_modulesnpm run prod
(optional) - run release build w/out packagingnpm run package
- use electron-builder to create a binary package
Binaries available in dist
.
npm ci
- install deps as mentioned abovenpm run dev
- run dev build
If you have any questions about Uivonim's code, making a change, etc., feel free to ping me (@smolck) on Gitter.
See the wiki for setup for the signature help, float, etc. features.
:Uivonim nc
An absolutely massive thank you to @breja for all of the work you did on the original Veonim project; without your work (including the amazing achievement of making Electron snappy!) and vision for the original project, Uivonim would not exist. Thank you!