Live data from Hacker News

Onivim 2: Lightweight, Modal Code Editor

github.com

41–50 of 78 posts

Re: Onivim 2: Lightweight, Modal Code Editor

#41

I'd really love a proper IDE that works inside a terminal, I suppose this won't either? What I'm looking for is something like VS Code but that does its window drawing using curses. Not something as barebones as vim or emacs. VS Code for terminal would really describe it well. It would be really handy to be able to jump into a remote machine and work on code that way without much lag or the need for heavy GUI stacks…

VS code has the new SSH mode where the language services and other plugins work on the remote machine while the rendering is local (last time I tried it I was unable to elevate permissions to write to root files which made it a PITA to do stuff like edit machine config).

Re: Onivim 2: Lightweight, Modal Code Editor

#42

I'm an advanced Vim user. I compile Onivim from source every couple of months to see what progress is like. My biggest problem with Onivim is that some of the design decisions reek of a design/development team that doesn't really grok Vim. Even if it was feature complete, it would be a slower Vim with a flashier UI and inconsistencies between the Onivim UX and Vim UX. As a specific example, the way Onivim uses tabs/s…

I think you are pretty accurate in your assessment of the target market. The way I'd phrase it is Sublime Text, with VS Code extensions and modal editing. I don't imagine the target users want anything beyond the modes and text handling, particularly the way Vim handles tabs and splits. This is based on me personally. I use the vim plugin in VS Code. I wish it was closer to real Vim keybindings, search etc but I want…

(Dev on Oni2)

We are adding Vim-style tabs as well (i.e. tabs are a view on to buffers, where a buffer can be any split etc as expected).

That said, you are right that a lot of people in Oni1 were interested in a "modern" (in heavy quotes there) way of doing tabs, where a split could have its own tabs etc, as is the way in VSCode etc.

Re: Onivim 2: Lightweight, Modal Code Editor

#43
post #40
post #7

The licensing is a bit complicated. It is not really open source, until later, when it is: "∙ Free for non-commercial and educational use." "∙ Commercial use requires the purchase of a license." and then "Because of the support we've received from open source communities, we've decided to dual-license the code after 18 months - every commit, starting with 017c513, will be dual-licensed via the MIT License 18 months f…

We decided to try a new approach to see how it works for funding - funding open source projects is _hard_! We wanted a model where, unlike completely proprietary licenses, the source code could be available - and, worst case, if something happened to the project - users could still have full access to it. And that all the work is eventually available in general. Our first OSS drops - from 18 months ago - are coming i…

I don't envy you... And as a software dev you don't want to be spending hours on legal stuff either.

I do love the way you have the price so low.

Re: Onivim 2: Lightweight, Modal Code Editor

#44

> VSCode Plugin Support Given this, and that there's at least one vim plugin for VSCode, is Onivim a serious alternative? How does VSCode+vscodevim compare to Onivim?

Oni was/is build completely on top of neovim and oni2 turned vim (not neovim) into a library and builds on top of that. I suppose the vscode plugin support is implemented in similar fashion as coc[1] does it. 1: https://github.com/neoclide/coc.nvim

It's actually a bit different - VSCode has a 'front-end' process and a 'back-end' process (the extension host).

The extension host is larger than just handling language services - it handles additional functionality, like source control, menus, language configuration - the full protocol is defined here: https://github.com/microsoft/vscode/blob/master/src/vs/workb...

We aim to integrate with that back-end extension host process - in other words, to support the `vscode` extension API surface, not just language support.

Because of the ubiquity and popularity of VSCode - the extensions tend to have significant investment and be of very high-quality, so we'd like to be able to leverage that wholesale.

Re: Onivim 2: Lightweight, Modal Code Editor

#45

Does anyone know why Oni ditched neovim, which they used in the original Oni editor, and instead turned vim into a library (libvim) for Onivim2?

https://github.com/onivim/libvim#why-is-libvim-based-on-vim-... Guts of it is that Neovim didn't play nicely with their OCaml build and Vim did. Rather than invest time in working through the problem, they went ahead with Vim but remain open to supporting Neovim.

> Rather than invest time in working through the problem

I don't think this is a fair characterization. We've made significant investments in both Neovim and Vim, and carefully considered the trade-offs.

> Guts of it is that Neovim didn't play nicely with their OCaml build and Vim did

This was a smaller consideration - but more fundamentally, the model Neovim uses for input - queuing it on an event loop and handling it asynchronously - is at odds with what we required - to be able to process the input -> handle updates synchronously.

There was a significant amount of incidental complexity in the architecture of our V1 to fit that asynchronous model - we wanted to avoid that for V2, and we switched to Vim because it fit that model.

Re: Onivim 2: Lightweight, Modal Code Editor

#46
post #28

Earlier quoted context omitted.

I love vim and have never met someone who used it more fluently than me. Yet I find it lacking. I can never get IDE features like code navigation and completion to really work. I use YouCompleteMe like everyone else but it’s just not as good as Jetbrains. It randomly stops working. Parameter hints don’t really work. This is for C++, by the way. The JavaScript situation is even worse. My dream is also for vim to be th…

I agree. I've been using vim for about a decade now. I love the editing experience. I really dislike the "IDE" experience (plugins, file navigation, etc). I've been seriously considering writing a new vim clone in go and build what I would consider the ultimate editor. Basically as if vim had been written today.

why not write in a system language like rust rather than go?

Re: Onivim 2: Lightweight, Modal Code Editor

#47
post #40

Earlier quoted context omitted.

We decided to try a new approach to see how it works for funding - funding open source projects is _hard_! We wanted a model where, unlike completely proprietary licenses, the source code could be available - and, worst case, if something happened to the project - users could still have full access to it. And that all the work is eventually available in general. Our first OSS drops - from 18 months ago - are coming i…

I don't envy you... And as a software dev you don't want to be spending hours on legal stuff either. I do love the way you have the price so low.

For sure... drafting EULAs, working with lawyers, setting up a sales pipeline is not the fun stuff.

Would much rather work on bug fixes and features! Just a necessary evil to be able to fund development. In an ideal world - could just write open source software and not worry about paying bills.

Re: Onivim 2: Lightweight, Modal Code Editor

#48
post #45

Earlier quoted context omitted.

https://github.com/onivim/libvim#why-is-libvim-based-on-vim-... Guts of it is that Neovim didn't play nicely with their OCaml build and Vim did. Rather than invest time in working through the problem, they went ahead with Vim but remain open to supporting Neovim.

> Rather than invest time in working through the problem I don't think this is a fair characterization. We've made significant investments in both Neovim and Vim, and carefully considered the trade-offs. > Guts of it is that Neovim didn't play nicely with their OCaml build and Vim did This was a smaller consideration - but more fundamentally, the model Neovim uses for input - queuing it on an event loop and handling…

Apologies, I didn't mean to insinuate that you were taking shortcuts or making frivolous choices. My attempt to summarize obviously lost the nuance of the decision.

I think the link summed it up well, near the end

> this was purely a constraint-based technical decision

Re: Onivim 2: Lightweight, Modal Code Editor

#49
post #21

Is this another electron ide that takes minutes to copy paste in?

We built a new UI framework to support development called Revery: https://github.com/revery-ui/revery

It's inspired by ReactJS, and has a similar API, but actually compiles to native code (not javascript). So you have a React-like developer experience, but with native perf.

Re: Onivim 2: Lightweight, Modal Code Editor

#50

I'd really love a proper IDE that works inside a terminal, I suppose this won't either? What I'm looking for is something like VS Code but that does its window drawing using curses. Not something as barebones as vim or emacs. VS Code for terminal would really describe it well. It would be really handy to be able to jump into a remote machine and work on code that way without much lag or the need for heavy GUI stacks…

VS code has the new SSH mode where the language services and other plugins work on the remote machine while the rendering is local (last time I tried it I was unable to elevate permissions to write to root files which made it a PITA to do stuff like edit machine config).

Oh I didn't know of that, that sounds interesting. I'll give that a try, thanks!
Post reply on HN