Onivim is an [[MIT License]]d graphical modal text editor written in [[Reason]].
- [Website](https://www.onivim.io/)
- [GitHub](https://github.com/onivim/oni2) (Onivim 2)
- [GitHub](https://github.com/onivim/oni) (Onivim 1 - archived)
- [AlternativeTo](https://alternativeto.net/software/oni/about/)
> Onivim is a brand-new code editor — combining the modal ergonomics of Vim, the quick and responsive feel of a native app, and the vast extension ecosystem of VS Code.
# Notability
It is a GUI-first implementation of a model text editor and actually uses Vim's core engine to power it - all 1.2 million lines of it - for better or for worse.
# Philosophy
> Onivim 2 aims to bring the _speed_ of Sublime, the _language integration_ of VSCode, and the _modal editing experience_ of Vim together, in a single package.
> The goal of this project is to build an editor that doesn't exist today - the _speed_ of a native code editor like Sublime, the _power_ of modal editing, and the _rich tooling_ that comes with a lightweight editor like VSCode.
### Goals
- **Modern UX** - an experience on par with modern code editors like VSCode and Atom
- **VSCode Plugin Support** - use all of the features of VSCode plugins, including language servers and debuggers
- **Cross-Platform** - works on Windows, OSX, and Linux
- **Batteries Included** - works out of the box
- **Performance** - no compromises: native performance, minimal input latency
## Revery
> Today, [Electron](https://electronjs.org/) is one of the most popular tools for building desktop apps - using an HTML, JS, CSS stack. However, it has a heavy footprint in terms of both RAM and CPU - **essentially packing an entire browser into the app.**
> Revery is kind of like super-fast, _native code_ Electron - with bundled React-like/Redux-like libraries and a fast build system - all ready to go!
> Your apps are compiled to native code with the Reason / OCaml toolchain - with **instant startup** and **performance comparable to native C code.** Revery features platform-accelerated, GPU-accelerated rendering. The compiler itself is fast, too!
# OS Support
# Features
# History
V1 was built on top of [[NeoVim]], embedding a browser into the GUI and replacing [[Vimscript]] with [[Javascript]].
V2 is built using only [[libvim]] which provides a C API of the core of [[Vim]]'s buffer manipulation and keystroke engine and the rest is built custom using the Revery framework in [[Reason]].