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.
1
gfexfizv 2016-12-04 12:45:28 +08:00 via iPhone
这个很吊,如果能支持 c 和 c++就更好
|
2
simen513 2016-12-05 23:37:10 +08:00
不错啊,这个很像 UI 的编辑器了。
|
3
yuuko 2016-12-10 19:30:53 +08:00 via Android
厉害
|
4
skywind3000 2016-12-13 12:35:59 +08:00
这明明就是一个 Atom Editor 啊,哈哈。
|
5
wsdjeg OP @skywind3000 傻逼 自己去 github 看
|
6
skywind3000 2016-12-26 14:42:17 +08:00
@wsdjeg 我当然看过啊,就是用 Electron ( atom-core )给 nvim 套了个壳,你没看好多组件都和 Atom Editor 一模一样么?
|