oni
Oni: Modern Modal Editing - powered by Neovim
A code editor that combines Vim's keyboard-driven modal editing style with a modern graphical window and IDE features like code completion, error highlighting, and a fuzzy file finder, built on top of Neovim.
Oni is a code editor that pairs the keyboard-driven editing style of Vim with a modern graphical interface and IDE-like features. It is built on top of Neovim, a modernized version of Vim, and adds a visual layer and developer tooling on top of it.
Vim and Neovim use a style called modal editing, where pressing keys does different things depending on which mode you are in. In normal mode, you navigate and run commands with keyboard shortcuts; in insert mode, you type text. This approach is popular among developers who prefer working without reaching for a mouse. Oni brings that editing model to a graphical window rather than a plain terminal.
On top of Neovim, Oni adds features you would find in editors like Visual Studio Code: code completion, quick information about code symbols, syntax and compilation error highlighting, a fuzzy file finder, a status bar, and an embedded browser. An interactive tutorial is also included. Plugins can be written in JavaScript instead of VimL, the built-in Vim scripting language, which makes extension development more accessible to a wider range of developers.
The editor runs on Windows, Mac, and Linux. At the time of this README, the project was under active development and considered unstable before a 1.0 release. It is open source under the MIT license and accepts financial support through Patreon, Open Collective, and BountySource.
Where it fits
- Use Vim's keyboard-driven editing inside a graphical window with IDE features like code completion and syntax error highlighting.
- Write editor plugins in JavaScript instead of VimL to extend Oni's functionality with familiar web development skills.
- Navigate files quickly using a built-in fuzzy file finder without reaching for the mouse.
- Follow an interactive tutorial to learn Vim-style modal editing in a graphical environment.