# ONI-IDE **Repository Path**: better_fly/ONI-IDE ## Basic Information - **Project Name**: ONI-IDE - **Description**: 基于 Vim (neovim)的 IDE 终于有了!许多原来需要复杂配置的功能,现在开箱即用 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2019-10-31 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![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 .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 .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 There many ways to contribute to Oni: - Support Oni financially by making a donation via [Bountysource](https://salt.bountysource.com/teams/oni) - [Submit bugs](https://github.com/bryphe/oni/issues) or propose new features. - Review and and upate our [documentation](https://github.com/bryphe/oni/wiki) - Try out the latest [released build](https://github.com/bryphe/oni/releases) - Contribute a bug fix or code change - start by checking our [Debugging Page](https://github.com/bryphe/oni/wiki/Debugging) ## 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](https://neovim.io/), especially [justinmk](https://github.com/justinmk) and [tarruda](https://github.com/tarruda) - Oni would not be possible without their vision - [jordwalke](https://github.com/jordwalke) for his generous support, inspiration, and ideas. And React ;) - [keforbes](https://github.com/keforbes) for helping to get this project off the ground - [tillarnold](https://github.com/tillarnold) for giving us the `oni` npm package name - [mhartington](https://github.com/mhartington) for his generous support - [badosu](https://github.com/badosu) for his support, contributions, and managing the AUR releases - All our current monthly [sponsors](https://salt.bountysource.com/teams/oni/supporters) and [backers](BACKERS.md) - All of our [contributors](https://github.com/bryphe/oni/graphs/contributors) - thanks for helping to improve this project! Several other great neovim front-end UIs [here](https://github.com/neovim/neovim/wiki/Related-projects) served as a reference, especially [NyaoVim](https://github.com/rhysd/NyaoVim) and [VimR](https://github.com/qvacua/vimr). I encourage you to check those out! Thank you! ## License MIT License. Copyright (c) Bryan Phelps There are a few image and audio assets bundled with Oni - see [ASSETS.md](ASSETS.md) for attribution. Windows and OSX have a bundled version of Neovim, which is covered under [Neovim's license](https://github.com/neovim/neovim/blob/master/LICENSE) ### Bundled Plugins Bundled plugins have their own license terms. These include: - [typescript-vim](https://github.com/leafgarland/typescript-vim) (`oni/vim/core/typescript.vim`) - [targets.vim](https://github.com/wellle/targets.vim) (`oni/vim/default/bundle/targets.vim`) - [vim-commentary](https://github.com/tpope/vim-commentary) (`oni/vim/default/bundle/vim-commentary`) - [vim-unimpaired](https://github.com/tpope/vim-unimpaired) (`oni/vim/default/bundle/vim-unimpaired`) - [vim-reasonml](https://github.com/reasonml-editor/vim-reason) (`.vim` files in `oni/vim/core/oni-plugin-reasonml`)