[HN Gopher] Onivim 2 is a retro-futuristic modal editor
       ___________________________________________________________________
        
       Onivim 2 is a retro-futuristic modal editor
        
       Author : niedzielski
       Score  : 80 points
       Date   : 2021-06-25 04:56 UTC (2 days ago)
        
 (HTM) web link (v2.onivim.io)
 (TXT) w3m dump (v2.onivim.io)
        
       | ford_o wrote:
       | Why does it try to look like vscode clone?
       | 
       | I understand that the vscode ecosystem is awesome. However, I
       | always felt like the UI was severaly lacking behind proper IDE
       | like intellij.
       | 
       | Give me intellij-like documentation popup, run, build & debug
       | buttons and debug UI, and I will switch in an instant!
        
       | pope_meat wrote:
       | I stared at the landing page for a good 15 seconds wondering "why
       | is that picture... breathing?"
        
         | pantulis wrote:
         | Same here!
        
       | TheFreim wrote:
       | What does this offer that evil-mode emacs, or even vscode, has to
       | offer...?
        
         | twobitshifter wrote:
         | If every text editor has to implement full emacs functionality,
         | every alternate text editor project should just stop now.
        
       | da_big_ghey wrote:
       | <<retro-futuristic modal editor>> not helpful for marketing, what
       | is the meaning here? maybe some correlation with <<outrun labs>>
       | name and outrun look, but not clear. it also has advertisement
       | for <<native code>> but this not always means fast. text editor
       | problem is more latency than <<speed>>, any latency benchmark
       | made yet?
        
       | enw wrote:
       | Isn't this VS Code with the Vim extension?
        
         | hvis wrote:
         | Seems like it's Vim with a VS Code extension/adapter instead.
         | 
         | Intriguing idea, though not sure how viable.
        
         | trutannus wrote:
         | Took far too long for me to figure out that this isn't just a
         | VS Code extension. I'm not even entirely sure this isn't.
        
         | felixr wrote:
         | No, it is actually using the real vim in the background. So
         | while you might not be able to use all vim plugins/scripts, it
         | should give you a much more complete vim experience. See also
         | https://github.com/onivim/libvim
        
           | e12e wrote:
           | Is it better than (the AFAIK newer)
           | https://github.com/asvetliakov/vscode-neovim ?
        
         | ddek wrote:
         | No, likely out of diffidence onivim has a very similar design
         | to VSC. It doesn't appear to share any code with VS Code
         | though.
        
           | WiiManic wrote:
           | This isn't technically true, the extension host we use is
           | directly the one from VSCode, such that we can support their
           | extensions (well...a subset as we fill in the gaps in for the
           | Oni2 <-> ExtHost communication).
           | 
           | But the actual core editor is all seperate, written in
           | ReasonML (or OCaml if you know that instead), with a bunch of
           | C libs in the background we've wrapped (Skia/Harfbuzz/We wrap
           | real vim etc).
           | 
           | So the core editing experience has no code sharing, but the
           | extension side of things does!
        
       | whatyearisit wrote:
       | I really wanted to like Onivim 2, but went back to Visual Studio
       | code after supporting the creator on Patreon for a while. The
       | last build and creator update was provided months ago for
       | supporters.
       | 
       | I also wanted to vote against the pricing model, because I think
       | it should be a one time purchase. The creator and his company
       | behind the editor tries to create a serious FOMO on likely
       | customers. I considered it to be a red flag on a potential
       | abandonment. Additionally, I felt it would be easier for Visual
       | Studio code become faster than Onivim 2 can have support for all
       | Visual Studio code extensions.
       | 
       | On the plus side, Onivim 2 has some smart defaults which made it
       | a joy to use. I encourage anyone who thinks about buying Onivim 2
       | to first learn how to fine tune VS Code to look and feel like
       | Onivim 2 because you can.
        
       | phelipetls wrote:
       | It's unfortunate that some VS Code extensions, e.g. remote
       | development extensions, can't be used in Onivim 2 due to license
       | restrictions[1].
       | 
       | [1]:
       | https://github.com/VSCodium/vscodium/issues/196#issuecomment...
        
       | nine_k wrote:
       | What's most interesting for me here is Revery, the GUI framework.
       | React-like, cross-platform, native-code, MIT-licensed.
       | 
       | Yes, it's not using native widgets (so no built-in
       | accessibility), but that might be fine in many cases.
        
         | romwell wrote:
         | Looking forward to seeing it displace Electron.
        
           | k__ wrote:
           | Back in the days, I would have bet on Revery as Electron
           | replacement.
           | 
           | But currently, Tauri seems like a more viable option.
        
           | nine_k wrote:
           | Not soon: however I like ML-style languages, it's JS / TS
           | what has the mass market adoption now.
           | 
           | It's not even the language, it's not much harder to learn
           | than TS. It's the smaller library ecosystem of Reason /
           | OCaml.
        
       | siproprio wrote:
       | Does it really have _INSTANT_ startup time (i.e. Sublime Text)?
       | 
       | If it has, I'm interested.
       | 
       | Was not able to find the trial though.
        
         | xaduha wrote:
         | $ time /opt/oni/Onivim2.AppDir/usr/bin/Oni2 --nofork --silent
         | -c qa              real    0m0,360s         user    0m0,280s
         | sys     0m0,042s
        
       | skavi wrote:
       | How fast does this feel compared to VS Code?
       | 
       | I went into the whole onivim -> revery -> reason rabbit hole and
       | the native code compilation is compelling, but Flutter does the
       | same thing and is pretty slow.
        
         | xaduha wrote:
         | It feels faster than VSCode, but I would wait until at least
         | 0.6 before trying it out more.
        
       | albingroen wrote:
       | I bought a license like 6 months ago and have tried a couple of
       | times back and forth during this period. I thought this was
       | exactly what I was looking for. A modern mix on Vim and VSCode. I
       | was pretty disappointed though tbh. You can really just VSCode
       | with the Vim extension, or just use actual Vim. I think there is
       | space for a product like this though, so A for effort!
        
         | JNRowe wrote:
         | Much like you, I think I'm probably the target audience for
         | this.
         | 
         | One of the things that stops me from using neovim - regardless
         | of any changes I'd like - is the removal of gvim. I like my
         | gvim candy; SVG icons in sign columns, better modifier support
         | in maps, drag and drop when in command line,
         | $things_ive_forgot_i_use.
         | 
         | Likewise, I also believe the idea of onivim is worth a licence
         | fee, even it turns out I can't get behind it. It just feels
         | like one of those projects I want to see succeed, even if it
         | isn't for me.
        
       | [deleted]
        
       | twobitshifter wrote:
       | Aside, I see it has tabs as defaults- what are people's thoughts
       | on tabbed editors?
        
       | koehr wrote:
       | Honestly, melting two open source editors together (or rather
       | cloning one while integrating the other) and ask for that amount
       | of money for it is in my opinion unacceptable. The only thing
       | that would make this a bit more acceptable is when the developers
       | are promising to spend a lot of their earnings for vim
       | development (and maybe VSCode, too).
       | 
       | *edit:* Just saw that it is actually open source and will be
       | available for non-commercial use for free. I'm more than fine
       | with that model!
        
         | lifty wrote:
         | Onivim doesn't use vscode. It's a from scratch implementation
         | that doesn't use electron, but they do replicate the vscode
         | plugin system so they can be compatible with it.
        
         | WiiManic wrote:
         | > Just saw that it is actually open source and will be
         | available for non-commercial use for free. I'm more than fine
         | with that model!
         | 
         | Yeah, we are using the dual-licensing model that some other
         | projects use.
         | 
         | Source available may be a more accurate description, since it
         | can be somewhat controversial to claim to be open source and
         | use our licensing model.
         | 
         | Tl;dr:
         | 
         | - Commits from the core team are licensed under an EULA for 18
         | months. You can use Oni2 for free for non-commercial stuff, but
         | need a license for commercial use.
         | 
         | - After 18 months, commits are re-licensed to MIT license, and
         | appear in the Oni2-MIT repo, where they are then subject to the
         | normal rules of that license.
         | 
         | We do also periodically give to the upstream projects that
         | power us, i.e. you'll see our name in the Vim leaderboard
         | thingy since we give money to the charity that Vim asks for
         | donations to.
         | 
         | And to be clear, whilst we use the vim source code as the
         | editing experience base, the UI is our own, thought obviously
         | looks very similar to VSCode, though no UI code is shared etc
         | (Oni2 is written in Reason, VSCode in Typescript).
        
       | a3w wrote:
       | Buying software without a trial makes me disinterested. I still
       | want to learn using vim every day, but won't commit to this text
       | editor/vsx-powered IDE, unless I find out that I have the guts to
       | use it every day. Also, there is VIM mode for VS Code, I guess.
        
         | WiiManic wrote:
         | Oni2 is available for use for free for non-commercial usage, it
         | just needs building from source at the moment. The steps are in
         | the user manual if anyone is interested:
         | https://onivim.github.io/docs/for-developers/building
         | 
         | Partially that is a thank you to those who have supported our
         | development, and partially its to help put up a small barrier
         | to entry, just so we don't get too flooded with issues and
         | feature requests!
         | 
         | A public release is coming soon-ish, and can be used for non-
         | commercial use.
        
         | injidup wrote:
         | Hand holding is still a thing here I guess.
         | https://onivim.github.io/docs/for-developers/building
        
         | gryn wrote:
         | it seems to be open source there's a link in the page to the
         | project's GitHub page.
         | 
         | https://github.com/onivim/oni2
        
         | ddek wrote:
         | > Also, there is VIM mode for VS Code, I guess.
         | 
         | I feel like this is something said by people who are more
         | invested in VS Code than vim. The main vim plugin for VS Code
         | is straight trash.* It's slow, buggy, and unintuitive; while
         | lacking the extensibility that vim has. At least IDEAVim, which
         | has the same limitations of being built in another IDE,
         | replicates enough of the common plugins to be pleasant.
         | 
         | It's also worth noting that onivim is not VS Code repackaged.
         | It is not an electron app, and it doesn't appear to use the
         | monaco editor. They have apparently taken great design
         | inspiration from VS Code, which I think is a fairly diffident
         | decision.
         | 
         | Overall, I'm looking at neovim nightly and not knowing why
         | onivim is a thing. I can understand the appeal of a GUI vim,
         | but implementing a vim backend is a monumental task _if you
         | intend to be compatible with existing vim plugins_ (and you
         | should). Nvim 0.5 has native lua, and now freed from vimscript
         | the quality of plugins is improving continuously. I just can 't
         | see a way for a 'third vim' - if you don't start with vimscript
         | you won't be compatible, but if you do you're already outdated.
         | 
         | * There are a few attempts to splice VS Code and neovim, all of
         | these are awful.
        
           | WiiManic wrote:
           | > but implementing a vim backend is a monumental task if you
           | intend to be compatible with existing vim plugins
           | 
           | We skipped that and haven't implemented any vim backend at
           | all!
           | 
           | We use/made libvim[1], which is just the vim source, that
           | we've essentially turned into a library. So its the vim code
           | base with terminal UI stuff stripped out, and an interface
           | added for us to hook into it. The README of that repo has
           | some good insight into that (including why we didn't use
           | neovim here, as much as the team all loves nvim).
           | 
           | We don't support vimscript stuff at the moment, but its in
           | progress as all the vim source code is there to load/run it
           | as normal, its just about integrating is properly into Oni2
           | (making sure keybinds are working, commands are properly
           | loaded, packing stuff up nicely for distrib etc).
           | 
           | (There is some other motivation bits in this doc[2]. Its
           | outdated since we haven't edited it since before the project
           | started, but it outlines the motivations we went in with
           | etc).
           | 
           | [1]: https://github.com/onivim/libvim [2]: https://github.com
           | /onivim/oni2/blob/master/docs/MOTIVATION.m...
        
             | jnovek wrote:
             | "We skipped that and haven't implemented any vim backend at
             | all ... so its the vim code base with terminal UI stuff
             | stripped out, and an interface added for us to hook into
             | it."
             | 
             | You took out the most important part!
             | 
             | I don't know about other people, but I became a vim user
             | because I found myself configuring servers and needed to
             | know a better text editor than nano.
             | 
             | Vim is also my primary code editor these days but
             | portability is still a killer feature.
        
               | lbotos wrote:
               | You are mis-interpreting what they did. They literally
               | took vim, and built a ui around it. No re-implementation.
               | It's Vim with a more modern frontend stack. You can go
               | look at the libvim source and see it for yourself.
               | 
               | The point of this is to bring Vim into more modern
               | workflows, not but "vim compat" but literally... _vim_.
               | 
               | Source: had some pull requests into libvim a while back
               | to remove a lot of the various legacy compat features
               | that don't make sense for libvim.
        
         | rapind wrote:
         | According to their FAQ it looks like they'll be offering a
         | trial version once they hit v1.
         | 
         | https://onivim.github.io/docs/other/faq#is-there-a-trial-ver...
        
       | dasdadjak wrote:
       | Was an early adopter in 2019, right now not so much. No proper
       | channel distributions, no hidpi support, UI clone/copy/paste of
       | vscode - all things which actually makes user sad... After all
       | going in the wrong direction, sorry.
        
       | rapind wrote:
       | I'm interested. I don't think it's far enough along for me yet
       | (.vimrc support), but I'll be keeping an eye on it.
       | 
       | I really like the "Outline" view, as I'm often editing large
       | files and would find this extremely useful.
        
       ___________________________________________________________________
       (page generated 2021-06-27 23:00 UTC)