smolck / Uivonim
Programming Languages
Projects that are alternatives of or similar to Uivonim
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.
Veonim is being actively developed as well. For a glimpse at the future, check out https://glitchtron.org/veonim/.
Goals
- 100% compatibility with Neovim (see #9421)
- All configuration done via vimrc with vimscript/Lua/remote plugins
- Opt-in GUI features and eyecandy
- Fully keyboard driven (no mouse support)
- 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
Getting Started
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 provided by @SilverRainZ (see #55).
Other Cool Projects
Build
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_modules -
npm run build
- release build of the code -
npm run start:release
(optional) - run the release code without packaging -
npm run package
- use electron-builder to create a binary package
Binaries available in dist
.
Development
For development, follow the above steps, but replace npm run start:release
with
npm run start
. Note that since npm run start
also builds the code, there is no need to
run npm run build
before running it.
Special Thanks
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!