Live data from Hacker News

Oni: Modern Modal Editing – Powered by Neovim

github.com

21–30 of 115 posts

Re: Oni: Modern Modal Editing – Powered by Neovim

#23
post #18

I've been using Oni for the last few weeks as my daily driver (I liked it so much I signed up as a monthly sponsor), and here's my take on it: It's a fairly new project, but it's under _very_ active development. There's an excellent community building around it and I think we will be seeing some really great progress over the next year. That said, it isn't anywhere close to feature parity with vscode, but the value p…

>but the value proposition is: neovim, with vscode compatible snippets and typescript-language-server-driven autocomplete (also works with vanilla JS) out of the box.

Perhaps a dumb question, but wouldn’t it be a better idea to make a proper vscode/neovim plugin?

Re: Oni: Modern Modal Editing – Powered by Neovim

#24
post #20
post #18

I've been using Oni for the last few weeks as my daily driver (I liked it so much I signed up as a monthly sponsor), and here's my take on it: It's a fairly new project, but it's under _very_ active development. There's an excellent community building around it and I think we will be seeing some really great progress over the next year. That said, it isn't anywhere close to feature parity with vscode, but the value p…

Interesting. I'm a vim/gvim user myself, outside of IDEs, but I've been trying VS Code recently. For some of the stuff I do right now it's not as convenient or stylish as tmux + vim (don't laugh about the stylish part - for example I like a minimalist look and I tend to remove all toolbar and VS Code can't do that; well, it can, in Zen mode, but that's also full screen only, sets some other options I don't want, etc.…

It is not based on vscode as far as I know, but it does use the vscode language servers and snippets. Regarding splits, if you set "tabs.mode" to "tabs" it will behave just like regular vim tabs, so each "tab" is just a neovim instance that behaves exactly as you would expect it to. There is a feature in development that creates a GUI "tab" for each split[1], but I found it difficult to use so I'm sticking with native vim splits for now.

[1]: https://twitter.com/oni_vim/status/969315834626695168

Re: Oni: Modern Modal Editing – Powered by Neovim

#25
post #23
post #18

I've been using Oni for the last few weeks as my daily driver (I liked it so much I signed up as a monthly sponsor), and here's my take on it: It's a fairly new project, but it's under _very_ active development. There's an excellent community building around it and I think we will be seeing some really great progress over the next year. That said, it isn't anywhere close to feature parity with vscode, but the value p…

>but the value proposition is: neovim, with vscode compatible snippets and typescript-language-server-driven autocomplete (also works with vanilla JS) out of the box. Perhaps a dumb question, but wouldn’t it be a better idea to make a proper vscode/neovim plugin?

It's not really the same use case though, a vscode extension is limited by the vscode API, but I imagine if someone manages to make an extension that is just a wrapper around a neovim process it will be pretty compelling. Making a neovim plugin wouldn't get you the graphical IDE features like an embedded browser and/or graphical debugger.

Re: Oni: Modern Modal Editing – Powered by Neovim

#26
post #2

Looks great. Two questions: 1. I wonder though why you/team didn't opt for extending the vim emulation - via a plugin - on VS Code. Did the exposed API limit you from doing so? Edit: Having used the extensions of VSCode, I am wondering if that is the case. 2. Does it support installation of sublime/atom/vscode plugins?

Author here - that's a great question on VSCode. I actually tried really hard to get my 'Vim workflow' to work with VSCode - even creating a plugin for relative numbering. I'm a big fan of the work that the VSCodeVim / VSCodeNeovim teams are doing as well!

There were two challenges I faced:

1. Performance - I'm very sensitive to typing latency. I wanted to leverage Neovim to its full potential. IMO, there is a tremendous benefit to having the buffer management delegated to a native layer (similiar to what the Atom team is exploring with Xray). We also use a canvas renderer for the editor surface, unlike VSCode/Atom which use the DOM. We still have low-hanging fruit to address in terms of performance, but we gain significant benefits from this architecture, vs other electron apps.

2. Functionality- I wanted to explore some new input methods, inspired by browser plugins like Vimium and cVim. I also wanted to explore ways to gamify the editor experience and make it fun to learn modal editing and become more productive. I found VSCode's API's limiting in these aspects, and wasn't able to realize it within the confines of their API.

I believe VSCode is making the right set of trade-offs for their user base - there is benefit to the sandboxing of the APIs as it helps lift the overall quality of plugins. Every editor is a different exercise in trade-offs, and I wanted to explore a different set, targeting a more niche group.

The VSCode team has done awesome work and we've been able to leverage several core components - their language server client, their snippet parser, their textmate highlighting parser / engine. It's wonderful that they are contributing so much to the open source community. I hope to hook up their debug adapter protocol in the near term, too!

To answer your second question - we'd like to support VSCode plugins at some point. They have a great ecosystem of plugins. We support their snippet syntax and textmate highlighting syntax, but hopefully we can have more a complete compatibility story. Still have a lot of work to do on our plugin story in general :)

Re: Oni: Modern Modal Editing – Powered by Neovim

#27
What is the sweet spot of Oni? If you're looking for a full-blown IDE with vim UI on top then the vs code IntelliJ Visual Studio does reasonably good job at that.

If you're looking for a beefed-up version of vim as an IDE spacevim has a package manager and a curated set of over 200 plugins dialed in to work well together for gvim or terminal.

I'm just trying to understand the differentiator

Re: Oni: Modern Modal Editing – Powered by Neovim

#28
post #8

The project README.md doesn't do justice to the improvements that Oni has been pumping out. Some new stuff in the unreleased/development version (hidden behind feature-flags): * Keyboard-driven navigation of embedded web browser: https://twitter.com/oni_vim/status/977280220234268673 * Live reload with embedded browser: https://twitter.com/oni_vim/status/976502172891299840 However personally I just love the scrollbar:…

Thanks for your support, Justin! Oni wouldn't be here without the awesome work you've done:)

Neovim has been a joy to build on - fast, performant, and stable. Great example of a high-quality OSS project!

Re: Oni: Modern Modal Editing – Powered by Neovim

#29
post #8

The project README.md doesn't do justice to the improvements that Oni has been pumping out. Some new stuff in the unreleased/development version (hidden behind feature-flags): * Keyboard-driven navigation of embedded web browser: https://twitter.com/oni_vim/status/977280220234268673 * Live reload with embedded browser: https://twitter.com/oni_vim/status/976502172891299840 However personally I just love the scrollbar:…

The kinds of things in your comment are the kind of things that make me consider actually installing Oni rather than just going "oh neat, people are making Neovim frontends" like I did when I first saw this post. The only thing that makes me hesitate is because I run FreeBSD on some of my computers and FreeBSD support wasn't quite there yet for Electron apps last I checked. It may have changed in the meantime. If I w…

Would be interesting to see if we could compile Neovim via WebAssembly... If that's the case, it would certainly be feasible to run Oni in the browser with a few (minor) tweaks. The UI layer is react-based and would be trivial to run in a browser.

Interesting project that did something similiar for Vim: https://github.com/coolwanglu/vim.js/

Re: Oni: Modern Modal Editing – Powered by Neovim

#30

What is the sweet spot of Oni? If you're looking for a full-blown IDE with vim UI on top then the vs code IntelliJ Visual Studio does reasonably good job at that. If you're looking for a beefed-up version of vim as an IDE spacevim has a package manager and a curated set of over 200 plugins dialed in to work well together for gvim or terminal. I'm just trying to understand the differentiator

I can't speak for the IDE-oriented folks, but as a veteran vim user, never really satisfied with the typographical and UI limitations of the terminal, Oni is the first graphical frontend for vim that satisfies me.

Being able to finally have good looking autocompletions, tabs, file explorer and widgets for all related vim features (autocomplete, quickinfo, statusbar, etc) and also having first-class LSP compatibility made using Oni for ~ 6 months a joy.

I don't really enjoy the commitment to appease IDE oriented users but it's pretty easy to have a bare configuration (https://github.com/onivim/oni/wiki/How-To:-Make-Oni-closer-t...) and if it makes it easier and viable for more people to enjoy vim, more power to it!

Also, @bryphe is a very considerate project leader, making hard work to understand different use cases and open to new ideas, which makes collaboration very straightforward with the growing number of contributors. I am very excited for Oni's future and am sure that it'll only improve forward.

Post reply on HN