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]].