<commit_before>![alt text](./assets/oni-header.png)

### IDE powered by Neovim + React + Electron

[![Build Status](https://travis-ci.org/bryphe/oni.svg?branch=master)](https://travis-ci.org/bryphe/oni)
[![Build Status](https://ci.appveyor.com/api/projects/status/gum9hty9hm65o7ae/branch/master?svg=true)](https://ci.appveyor.com/project/bryphe/oni/branch/master)
[![Join the chat at https://gitter.im/extr0py/Lobby](https://badges.gitter.im/extr0py/Lobby.svg)](https://gitter.im/extr0py/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![BountySource Active Bounties](https://api.bountysource.com/badge/tracker?tracker_id=48462304)](https://www.bountysource.com/teams/oni)

- [Introduction](#introduction)
- [Features](#features)
- [Installation](#installation)
    - [Windows](#windows)
    - [Mac](#mac)
    - [Linux](#linux)
- [Documentation](#documentation)
- [Contributing](#contributing)
- [Acknowledgements](#acknowledgements)
- [License](#license)

## Introduction

Oni is a [neovim](https://github.com/neovim/neovim) front-end UI with rich IDE-like UI integration points, drawing inspiration from [VSCode](https://github.com/Microsoft/vscode), [Atom](https://atom.io/), and [LightTable](http://lighttable.com/).

![screenshot](https://user-images.githubusercontent.com/13532591/28976286-25779704-78f2-11e7-967f-72cb438d77f6.png)

This repository is under __active development__, and until 1.0 please consider everything unstable.

Check out [Releases](https://github.com/bryphe/oni/releases) for the latest binaries, or [Build Oni](#build) from source. Consider making a donation via [BountySource](https://salt.bountysource.com/teams/oni) if you find this project useful!

## Features

Oni brings several IDE-like integrations to neovim:

- [Quick Info](https://github.com/bryphe/oni/wiki/Features#quick-info)
- [Code Completion](https://github.com/bryphe/oni/wiki/Features#code-completion)
- [Syntax / Compilation Errors](https://github.com/bryphe/oni/wiki/Features#syntax--compilation-errors)
- [Fuzzy Finding](https://github.com/bryphe/oni/wiki/Features#fuzzy-finder)
- [Status Bar](https://github.com/bryphe/oni/wiki/Features#status-bar)

Oni is cross-platform and supports Windows, OS X, and Linux.

## Installation

 - Check out [Releases](https://github.com/bryphe/oni/releases) for the latest binary.
 - If you'd prefer to build from source, see [Development](https://github.com/bryphe/oni/wiki/Development)

> NOTE: Windows & OSX releases come with a bundled neovim release, so you do not need a neovim install on those platforms.

### Windows

- Download the [Oni installer](https://github.com/bryphe/oni/releases/download/v0.2.12/Oni-0.2.12-ia32-win.exe) for Windows
- Once it is downloaded, run the installer. This will only take a minute.
- By default, Oni is installed under `C:\Program Files (x86)\Oni` for a 64-bit machine. 

You can also find install via a [zip archive](https://github.com/bryphe/oni/releases/download/v0.2.12/Oni-0.2.12-ia32-win.zip)

> You may want to add Oni to your `%PATH%`, so that from the console, you can open Oni via `oni`

### Mac

- Download [Oni](https://github.com/bryphe/oni/releases/download/v0.2.12/Oni-0.2.12-osx.dmg) for Mac
- Double-click on the archive to expand
- Drag `Oni.app` to the `Applications` folder

### Linux

#### Debian and Ubuntu based distributions

> If you do not have Neovim, follow the instructions to [Install Neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim) and ensure the 'nvim' binary is available. Version `0.2.1` is required..

- Download the [.deb package (64-bit)](https://github.com/bryphe/oni/releases/download/v0.2.12/Oni-0.2.12-amd64-linux.deb)
- Install the package with `sudo dpkg -i <file>.deb`

A [tar.gz](https://github.com/bryphe/oni/releases/download/v0.2.12/Oni-0.2.12-linux.tar.gz) is also available.

#### Red Hat based distributions (Fedora, CentOS)

> If you do not have Neovim, follow the instructions to [Install Neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim) and ensure the 'nvim' binary is available. Version `0.2.1` is required..

- Download the [.rpm package](https://github.com/bryphe/oni/releases/download/v0.2.12/Oni-0.2.12-x86_64-linux.rpm)
- Install the package with `sudo dnf install <file>.rpm`

A [tar.gz](https://github.com/bryphe/oni/releases/download/v0.2.12/Oni-0.2.12-linux.tar.gz) is also available.

#### Arch based distributions

- Available via the [AUR](https://aur.archlinux.org/packages/oni/)
- Install the package with `yaourt -S oni`

A [tar.gz](https://github.com/bryphe/oni/releases/download/v0.2.12/Oni-0.2.12-linux.tar.gz) is also available.

## Goals

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

- __Modern UX__ - The Vim experience should not be compromised with poor user experiences that stem from terminal limitations.
- __Rich plugin development__ - using JavaScript, instead of VimL, allowing deep-language integration.
- __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. TypeScript development is the canonical example, but the hope is that other language providers will be included. Later, an included package manager will make it simple to find and install plugins.
- __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 even in the realm of modern editors.

However, going from thought to *code* has some different challenges than going from thought to *text*. IDEs 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.

## Documentation

- Check out the [Wiki](https://github.com/bryphe/oni/wiki) for documentation on how to use and modify Oni.
- [FAQ](https://github.com/bryphe/oni/wiki)
- [Roadmap](https://github.com/bryphe/oni/wiki/Roadmap)

## Contributing<commit_msg>Bump download version in README<commit_after>![alt text](./assets/oni-header.png)

### IDE powered by Neovim + React + Electron

[![Build Status](https://travis-ci.org/bryphe/oni.svg?branch=master)](https://travis-ci.org/bryphe/oni)
[![Build Status](https://ci.appveyor.com/api/projects/status/gum9hty9hm65o7ae/branch/master?svg=true)](https://ci.appveyor.com/project/bryphe/oni/branch/master)
[![Join the chat at https://gitter.im/extr0py/Lobby](https://badges.gitter.im/extr0py/Lobby.svg)](https://gitter.im/extr0py/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![BountySource Active Bounties](https://api.bountysource.com/badge/tracker?tracker_id=48462304)](https://www.bountysource.com/teams/oni)

- [Introduction](#introduction)
- [Features](#features)
- [Installation](#installation)
    - [Windows](#windows)
    - [Mac](#mac)
    - [Linux](#linux)
- [Documentation](#documentation)
- [Contributing](#contributing)
- [Acknowledgements](#acknowledgements)
- [License](#license)

## Introduction

Oni is a [neovim](https://github.com/neovim/neovim) front-end UI with rich IDE-like UI integration points, drawing inspiration from [VSCode](https://github.com/Microsoft/vscode), [Atom](https://atom.io/), and [LightTable](http://lighttable.com/).

![screenshot](https://user-images.githubusercontent.com/13532591/28976286-25779704-78f2-11e7-967f-72cb438d77f6.png)

This repository is under __active development__, and until 1.0 please consider everything unstable.

Check out [Releases](https://github.com/bryphe/oni/releases) for the latest binaries, or [Build Oni](#build) from source. Consider making a donation via [BountySource](https://salt.bountysource.com/teams/oni) if you find this project useful!

## Features

Oni brings several IDE-like integrations to neovim:

- [Quick Info](https://github.com/bryphe/oni/wiki/Features#quick-info)
- [Code Completion](https://github.com/bryphe/oni/wiki/Features#code-completion)
- [Syntax / Compilation Errors](https://github.com/bryphe/oni/wiki/Features#syntax--compilation-errors)
- [Fuzzy Finding](https://github.com/bryphe/oni/wiki/Features#fuzzy-finder)
- [Status Bar](https://github.com/bryphe/oni/wiki/Features#status-bar)

Oni is cross-platform and supports Windows, OS X, and Linux.

## Installation

 - Check out [Releases](https://github.com/bryphe/oni/releases) for the latest binary.
 - If you'd prefer to build from source, see [Development](https://github.com/bryphe/oni/wiki/Development)

> NOTE: Windows & OSX releases come with a bundled neovim release, so you do not need a neovim install on those platforms.

### Windows

- Download the [Oni installer](https://github.com/bryphe/oni/releases/download/v0.2.14/Oni-0.2.14-ia32-win.exe) for Windows
- Once it is downloaded, run the installer. This will only take a minute.
- By default, Oni is installed under `C:\Program Files (x86)\Oni` for a 64-bit machine. 

You can also find install via a [zip archive](https://github.com/bryphe/oni/releases/download/v0.2.14/Oni-0.2.14-ia32-win.zip)

> You may want to add Oni to your `%PATH%`, so that from the console, you can open Oni via `oni`

### Mac

- Download [Oni](https://github.com/bryphe/oni/releases/download/v0.2.14/Oni-0.2.14-osx.dmg) for Mac
- Double-click on the archive to expand
- Drag `Oni.app` to the `Applications` folder

### Linux

#### Debian and Ubuntu based distributions

> If you do not have Neovim, follow the instructions to [Install Neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim) and ensure the 'nvim' binary is available. Version `0.2.1` is required..

- Download the [.deb package (64-bit)](https://github.com/bryphe/oni/releases/download/v0.2.14/Oni-0.2.14-amd64-linux.deb)
- Install the package with `sudo dpkg -i <file>.deb`

A [tar.gz](https://github.com/bryphe/oni/releases/download/v0.2.14/Oni-0.2.14-linux.tar.gz) is also available.

#### Red Hat based distributions (Fedora, CentOS)

> If you do not have Neovim, follow the instructions to [Install Neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim) and ensure the 'nvim' binary is available. Version `0.2.1` is required..

- Download the [.rpm package](https://github.com/bryphe/oni/releases/download/v0.2.14/Oni-0.2.14-x86_64-linux.rpm)
- Install the package with `sudo dnf install <file>.rpm`

A [tar.gz](https://github.com/bryphe/oni/releases/download/v0.2.14/Oni-0.2.14-linux.tar.gz) is also available.

#### Arch based distributions

- Available via the [AUR](https://aur.archlinux.org/packages/oni/)
- Install the package with `yaourt -S oni`

A [tar.gz](https://github.com/bryphe/oni/releases/download/v0.2.14/Oni-0.2.14-linux.tar.gz) is also available.

## Goals

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

- __Modern UX__ - The Vim experience should not be compromised with poor user experiences that stem from terminal limitations.
- __Rich plugin development__ - using JavaScript, instead of VimL, allowing deep-language integration.
- __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. TypeScript development is the canonical example, but the hope is that other language providers will be included. Later, an included package manager will make it simple to find and install plugins.
- __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 even in the realm of modern editors.

However, going from thought to *code* has some different challenges than going from thought to *text*. IDEs 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.

## Documentation

- Check out the [Wiki](https://github.com/bryphe/oni/wiki) for documentation on how to use and modify Oni.
- [FAQ](https://github.com/bryphe/oni/wiki)
- [Roadmap](https://github.com/bryphe/oni/wiki/Roadmap)

## Contributing
{'fraction_non_alphanumeric': 0.12732778198334596, 'fraction_numerical': 0.02195306585919758, 'mean_word_length': 4.502290712203249, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 15, 'https://': 72, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 31, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1127408', 'n_tokens_mistral': 4537, 'n_tokens_neox': 4190, 'n_words': 1253}