You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Albert b5e57ce614 Remove text about ongoing development (#2757) 5 months ago
.github Update config.yml with new insiders 11 months ago
.oni Use snippet variable in template (#1729) 2 years ago
.vscode Run prettier over markdown / json files (#1395) 2 years ago
@types WebGL Renderer Ligatures (#2560) 1 year ago
assets Fix #4 - Add in new application icons (#587) 2 years ago
browser Fix typo in plugin name targets.vim (#2705) 1 year ago
build Feature/initial Git VCS provider (#1310) 1 year ago
cli Fix for #2251 Oni does not correctly locate executables (#2440) 1 year ago
configuration Add an example of binding a shortcut to an internal command (#1933) 1 year ago
extensions Feature/fix buffer opening closing (#2644) 1 year ago
font-awesome Initial commit - port of local workspace 3 years ago
images Add missing image for achievements (#1817) 1 year ago
lib/yarn #186 - Part 1 - Initial plugin installer implementation (#1883) 1 year ago
main Use `.some` to short circuit & native `.includes` (#2697) 1 year ago
scripts Fix #1345 - Improve developer experience when starting from webpack (#1663) 2 years ago
test Remove bs-platform dependency (#2735) 11 months ago
ui-tests Feature/fix remaining welcome commands (#2533) 1 year ago
vim Feature/oni sessions (#2479) 1 year ago
webview_preload Feature/upgrade typescript (#2618) 1 year ago
.editorconfig Add editorconfig 3 years ago
.gitattributes Ignore Yarn from Linguist. (#2462) 1 year ago
.gitignore added .notes folder to the .gitignore (#2018) 1 year ago
.gitmodules added vim-surround as a default plugin (#2003) 1 year ago
.npmignore Add '.npmignore' file 3 years ago
.nvmrc Added .nvmrc with node@9 (#1510) 2 years ago
.prettierignore #186 - Part 1 - Initial plugin installer implementation (#1883) 1 year ago
.prettierrc Feature/prepush hook v2 (#1361) 2 years ago
.travis.yml Update travis API key (#2595) 1 year ago
.yarnrc Temporary fix for yarn complaining about upath (#2679) 1 year ago Run prettier over markdown / json files (#1395) 2 years ago Update - thank you! 9 months ago Update e-mail address in code of conduct. 2 years ago Allow Sidebar to be Disabled (#2343) 1 year ago
LICENSE Initial commit 3 years ago Remove text about ongoing development (#2757) 5 months ago
appveyor.yml Appveyor: remove artifact publish on master (#2603) 1 year ago
codecov.yml Code coverage: Switch from coveralls to codecov (#1533) 2 years ago Security - Add Content Security Policy (#2288) 1 year ago
index.html Security - Add Content Security Policy (#2288) 1 year ago
jest.config.js Feature/vcs manager styling improvements (#2536) 1 year ago
package.json Remove bs-platform dependency (#2735) 11 months ago
preload.js Security - Add Content Security Policy (#2288) 1 year ago
tslint.json Feature/reapply syntax highlighting onColorscheme autocmd (#2565) 1 year ago
yarn.lock Remove bs-platform dependency (#2735) 11 months ago


Modern Modal Editing

:construction: NOTE: We're now shifting our focus to building Oni 2 :construction_worker_man: :construction_worker_woman:

Build Status Build Status codecov

Join the chat on discord! Total Downloads


Oni is a new kind of editor, focused on maximizing productivity - combining modal editing with features you expect in modern editors. Oni is built with neovim, and inspired by VSCode, Atom, LightTable, and Emacs

The vision of Oni is to build an editor that allows you to go from thought to code as easily as possible - bringing together the raw editing power of Vim, the feature capabilities of Atom/VSCode, and a powerful and intuitive extensibility model - wrapped up in a beautiful package.

Check out Releases for the latest binaries, or Build Oni from source. Consider making a donation via OpenCollective BountySource if you find this project useful!


Oni brings several IDE-like integrations to neovim:

And more coming - check out our Roadmap

Oni is cross-platform and supports Windows, Mac, and Linux.

If you're a Vim power user, and don't need all these features, check out our minimal configuration.


We have installation guides for each platform:

The latest binaries are available on our Releases page, and if you'd prefer to build from source, check out our Development guide.


The goal of this project is to provide both the full-fledged Vim experience, with no compromises, while pushing forward to enable new productivity scenarios.

  • Modern UX - The Vim experience should not be compromised by terminal limitations.
  • Rich plugin development - using JavaScript, instead of VimL.
  • Cross-platform support - across Windows, OS X, and Linux.
  • Batteries included - rich features are available out of the box - minimal setup needed to be productive.
  • Performance - no compromises, Vim is fast, and Oni should be fast too.
  • Ease Learning Curve - without sacrificing the Vim experience.

Vim is an incredible tool for manipulating text at the speed of thought. With a composable, modal command language, it is no wonder that Vim usage is still prevalent today.

However, going from thought to code has some different challenges than going from thought to text. Code editors today provide several benefits that help to reduce cognitive load when writing code, and that benefit is tremendously important - not only in terms of pure coding efficiency and productivity, but also in making the process of writing code enjoyable and fun.

The goal of this project is to give an editor that gives the best of both worlds - the power, speed, and flexibility of using Vim for manipulating text, as well as the rich tooling that comes with an IDE. We want to make coding as efficient, fast, and fun as we can!


  • Check out the Wiki for documentation on how to use and modify Oni.
  • FAQ
  • Roadmap

Available Plugins

Some available plugins created by Oni users are listed below (if you'd like to add your plugin to this list please create a PR updating this README with the details).


There many ways to get involved & contribute to Oni:


Oni is an independent project and is made possible by the support of some exceptional people. Big thanks to the following people for helping to realize this project:

  • the neovim team, especially justinmk and tarruda - Oni would not be possible without their vision
  • jordwalke for his generous support, inspiration, and ideas. And React ;)
  • keforbes for helping to get this project off the ground
  • Akin909 for his extensive contributions
  • CrossR for polishing features and configurations
  • Cryza for the webgl renderer
  • tillarnold for giving us the oni npm package name
  • mhartington for his generous support
  • badosu for his support, contributions, and managing the AUR releases
  • All our current monthly sponsors and backers
  • All of our contributors - thanks for helping to improve this project!

Several other great neovim front-end UIs here served as a reference, especially NyaoVim and VimR. I encourage you to check those out!

Thank you!


This project exists thanks to all the people who have contributed:


MIT License. Copyright (c) Bryan Phelps

Windows and OSX have a bundled version of Neovim, which is covered under Neovim's license

Bundled Plugins

Bundled plugins have their own license terms. These include: