Need help with uivonim?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

smolck
202 Stars 2 Forks GNU Affero General Public License v3.0 438 Commits 22 Opened issues

Description

Fork of the Veonim Neovim GUI

Services available

!
?

Need anything else?

Contributors list

# 69,154
Dart
Neovim
gtk
neovim-...
121 commits
# 46,442
Neovim
Vim
The Jul...
Lua
25 commits

Uivonim header

Typecheck Test Gitter

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.

Goals

  • 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

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 created by @SilverRainZ (see #55).

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.

If you have any questions about Uivonim's code, making a change, etc., feel free to ping me (@smolck) on Gitter.

Other Cool Projects

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!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.