Hacker News new | ask | show | jobs
by dillonb 2932 days ago
But does it have Vim keybindings?
4 comments

What we need is a web deliverable (i.e. not a "web technology based" Electron desktop app) Neovim frontend. Something like a Wasm & WebGL based UI layer connected via msgpack to the editor core that's running in a sandbox on GitLab's infrastructure.

I'm truly sorry if the above drivel is either impossible or insane; as an embedded guy this is most definitely way outside my wheelhouse. I should get back to repairing my oscilloscope.

If it's informative and empowers your thinking:

WebGL is more or less just a set of standardized (JavaScript) bindings to OpenGL ES... which is actually ran as DirectX I'm sure in some places...

Everything required to draw high-performance hardware accelerated text already exists in most browsers before even getting to these bindings, which would furthermore require accessing a redundant glyph renderer.

That is to say, WebGL wouldn't provide you much gain. Though, I'm sure some very amusing post-processing could then be done to your code.

Perhaps the future of programming is in the web with lens flare.

Why do we "need" this? It sounds overly complex and error-prone.
Just read the last part of their post, and you will understand.
Network latency would hurt. Maybe you could compile neovim backend to wasm instead and run it sandwiches in the browser as well.
Serious or not, here's hoping it will once the feature is out of its infancy.

Tangentially, Ace[0] appears to be the only editor outside Vim proper that has managed to implement a half decent Vim mode. It's the only such editor I've come across where visual block editing doesn't end in fits of rage.

[0]: https://ace.c9.io/

Not yet, but I think it makes sense to support VIM keybindings in the long term. Issue: https://gitlab.com/gitlab-org/gitlab-ce/issues/47930
Asking the important questions.
While it may not have been a serious question, vim key bindings (or emacs or whatever) are important to many people. You spend so much of your time in your editor/ide and become expert in it. Learning to work in another one is painful before you're properly productive again.
Seriously, how hard can it be? It's not like it's a completely new form of interaction. Vim and emacs are the ones that are exceptions in regard to UX.
I use qutebrowser (has vim-bindings), sway wm (I've customised it to have vim-bindings), zsh (with vim-bindings), weechat (with vim-bindings), mutt (still getting started with mutt, but it has vim-bindings too), and vim itself. These are pretty much the only pieces of software I interact with, so you can imagine how central vi/vim-bindings are in my life.
The basics are easy. A rudimentary normal mode with HJKL for movement is not hard. Block-select, sensible paragraph hops, copy/paste registers, repeatable macros, etc. is much harder to get right, and rough corners there can be a deal-breaker. Vim is a lot more than moving a cursor with your right hand.