GithubHelp home page GithubHelp logo

bhanditz / oni Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opencollective/oni

0.0 2.0 0.0 32.63 MB

Oni: An IDE powered by Neovim

Home Page: https://www.onivim.io

License: MIT License

Roff 0.10% Vim Script 95.75% Ruby 0.01% Awk 0.21% Batchfile 0.01% Shell 0.01% PostScript 0.68% TypeScript 3.06% CSS 0.10% JavaScript 0.07% Inno Setup 0.01% HTML 0.01% Makefile 0.01%

oni's Introduction

alt text

IDE powered by Neovim + React + Electron

Build Status Build Status Join the chat at https://gitter.im/extr0py/Lobby BountySource Active Bounties Total Downloads

Introduction

Oni is a neovim front-end UI with rich IDE-like UI integration points, drawing inspiration from VSCode, Atom, and LightTable.

screenshot

This repository is under active development, and until 1.0 please consider everything unstable.

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

Features

Oni brings several IDE-like integrations to neovim:

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

Installation

  • Check out Releases for the latest binary.
  • If you'd prefer to build from source, see 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 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

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

Mac

  • Download Oni 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 and ensure the 'nvim' binary is available. Version 0.2.1 is required..

A tar.gz is also available.

Red Hat based distributions (Fedora, CentOS)

If you do not have Neovim, follow the instructions to Install Neovim and ensure the 'nvim' binary is available. Version 0.2.1 is required..

  • Download the .rpm package
  • Install the package with sudo dnf install <file>.rpm

A tar.gz is also available.

Arch based distributions

  • Available via the AUR
  • Install the package with yaourt -S oni

A 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 for documentation on how to use and modify Oni.
  • FAQ
  • Roadmap

Contributing

There many ways to 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
  • 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!

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:

oni's People

Contributors

bryphe avatar keforbes avatar crossr avatar freebroccolo avatar frigoeu avatar rafi993 avatar badosu avatar cyansprite avatar someguynamedmatt avatar kforbes-arkin avatar justjoeyuk avatar jasonszhao avatar jakubjecminek avatar sitedyno avatar sahewat avatar talamuyal avatar darkwater avatar nfm avatar mikaak avatar masonash avatar josemarluedke avatar jared-skinner avatar hsheth2 avatar multikatt avatar cdelahousse avatar bhageena avatar granitosaurus avatar catsand avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.