• This repository has been archived on 02/Apr/2020
  • Stars
    star
    11,349
  • Rank 2,925 (Top 0.06 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created about 8 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Oni: Modern Modal Editing - powered by Neovim

NOTE: This repository is unmaintained - we are focusing on Onivim 2 and libvim.

Logo

Modern Modal Editing

Build Status Build Status codecov

Join the chat on discord! Total Downloads

Introduction

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!

Features

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.

Installation

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.

Goals

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!

Documentation

  • 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).

Contributing

There many ways to get involved & contribute to Oni:

Acknowledgements

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!

Contributors

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

License

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:

More Repositories

1

oni2

Native, lightweight modal code editor
Reason
7,833
star
2

libvim

libvim: The core Vim editing engine as a minimal C library
Vim Script
692
star
3

reason-libvim

Reason API for libvim
Reason
21
star
4

reason-tree-sitter

ReasonML bindings for tree-sitter
C
20
star
5

reason-textmate

ReasonML native library for working with TextMate grammars
JavaScript
16
star
6

onivim.io

Website for onivim
TypeScript
14
star
7

vscode-exthost

The backend of VSCode (the extension host), as a stand-alone NPM package
TypeScript
13
star
8

markdown-language-server

Language server for Markdown
TypeScript
12
star
9

reason-vscode-exthost

Native ReasonML interface for VSCode extensions
Reason
10
star
10

css-language-server

Language server for CSS, LESS, and SASS.
TypeScript
8
star
11

vscode-snippet-parser

VSCode's snippet parsing logic, extracted in a standalone module
TypeScript
8
star
12

reason-native-crash-utils

A set of reason-native utilities for reporting, troubleshooting, and testing native code
OCaml
7
star
13

oni-api

Oni's extensibility model API
TypeScript
7
star
14

onivim.github.io

Onivim 2 Documentation
HTML
5
star
15

onivim-input

Input management and key bindings for native ReasonML
Reason
5
star
16

reason-jsonrpc

A jsonrpc implementation in Reason
Reason
5
star
17

editor-core-types

Core Editor Types for Onivim 2 and related projects
Reason
4
star
18

oni-core-window-manager

Window split / dock management for Oni
TypeScript
3
star
19

oni-neovim-binaries

NPM module for acquiring neovim binaries used by Oni
JavaScript
3
star
20

reason-oniguruma

ReasonML bindings for the Onigurama RegEx engine
Reason
3
star
21

oni-docs

Documentation for Oni
HTML
3
star
22

oni-plugin-starter-kit

๐Ÿ”จ Template for creating Oni plugins
TypeScript
2
star
23

esy-oniguruma

Esy-enabled build for the onigurama regex library
C
2
star
24

oni-bot

Bot used in Oni repository
JavaScript
2
star
25

oni-extensions-discovery

AP Client for discovering Oni extensions
2
star
26

oni-test

๐Ÿ” Easily test plugins against Oni's API surface
TypeScript
1
star
27

oni-core-redux

Thin wrapper around Redux createStore, for oni
TypeScript
1
star
28

oni-types

Shared types and interfaces used across Oni
TypeScript
1
star
29

oni-core-logging

Simple logging utilities used across Oni
TypeScript
1
star
30

bot-test

bot-test
1
star
31

oni-release-downloader

Helper module to download release artifacts from github
JavaScript
1
star
32

oni-version-manager

CLI utility to help with managing Oni versions, for automation
TypeScript
1
star