https://github.com/extr0py/oni
ONI is a NeoVim front-end UI with rich IDE-like UI integration points.
This repository is under active development, and until 1.0 please consider everything unstable.
ONI brings several IDE-like integrations to NeoVim:
For Windows, a pre-built x86 binary of NeoVim is included.
For OSX, there is no included pre-built binary. Please Install Neovim and ensure the 'nvim.exe' is available.
Run npm install -g oni-vim
Run oni
at the command line to start the editor.
Clone the repository: git clone https://github.com/extr0py/oni.git
Install dependencies by running npm install
from the root
Build using npm run build
from the root
Run npm link
to register the ONI command
Run oni
at the command line
The goal of this project is to provide both the full-fledged VIM experience, with no compromises, while pushing forward to enable new scenarios.
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.
In my journey of learning VIM and increasing proficiency in other editors, I've found there is always a trade-off - either enjoy the autocompletion and IDE features, and compromise on the experience and muscle memory I've built with VIM, or work in VIM and compromise on the rich language functionality we have in an IDE.
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.
ONI is configurable via a 'config.json' located in $HOME/.oni
See the Config.ts file for interesting values to set
TODO: Coming soon.
ONI offers several rich extensibility points, with the focus being on various UI integrations as well as IDE-like capabilities.
Language extenders given ONI rich integration with languages, offering services like:
To see the in-progress API, check out the Oni.d.ts definition file as well as the typescript language plugin, which demonstrates several of these features:
ONI currently supports the setting of a background image as well as background opacity.
TODO
This distribution contains several VIM plugins that enhance the VIM experience.
These are:
As well as some color-schemes:
0.1
0.2
0.3
0.4
0.5
Future
MIT
Contributions are very much welcome :)
Big thanks to the NeoVim team - without their work, this project would not be possible. The deep integration with VIM would not be possible without the incredible work that was done to enable the msgpack-RPC interface. Thanks!
In addition, there are several other great NeoVim front-end UIs here that served as great reference points and learning opportunities.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.