Hacker News new | ask | show | jobs
by muvek 2935 days ago
I wish there was a good GUI for nvim/vim. I've tried them all and they all lag, either just a cursor lag when there is syntax-highlight (gvim) or when using snippets/auto-complete (nvim-qt for example).

I haven't found a single good GUI for nvim/vim. If you have, please let me know.

4 comments

Oni is pretty slick, and development is very active: https://github.com/onivim/oni
I've just switched to Oni, and would highly recommend it for someone who wants a Vim with the best features of modern graphical editors like Visual Studio Code. Oni does have some rough edges, since it's still pre-1.0, but it is largely feature-complete, with Language Server Protocol support, lightning-fast search powered by ripgrep, a command palette etc.
ActualVim is a Neovim frontend implemented as a Sublime Text plugin. It uses Sublime's syntax highlighting, and can use Sublime's native snippet UI as well.
According to the README of that project, it does not support snippets nor auto-complete yet. Seems to be very alphaish..
Not snippets/completion, very specifically "[Sublime's] Auto-popups while typing". This is due to the way I intercept Sublime's input.

Vim's snippets/completion work fine, and Sublime's work fine if you invoke them in another way.

See https://github.com/lunixbochs/actualvim/issues/97 for the planned fix.

Of the main caveats:

- No multiple cursors is due to lack of support in neovim, it's blocked on either neovim implementing them or me emulating them

- No "Auto-popups while typing" is due to a limitation in Sublime's input system, which I plan to work around if they don't provide another first-party solution.

- Undo coalescing isn't a major issue unless you switch modes repeatedly, because Vim's undo works fine.

- Surfacing more of Vim's UI is slowly happening as neovim adds more UI APIs.

- "Extremely large files" is fixed in master for nvim->Sublime buffer changes with neovim 0.3's change deltas. It's not completely fixed for Sublime->nvim buffer changes (like if you run a host plugin or click a Sublime UI element), because Sublime has no delta system. #97 plus a C diffing library would sort that out, as would Sublime adding a change delta API.

Evil or Spacemacs in Emacs? 26.1 with pixel-level scrolling out now!
Not really a frontend on Vim or NeoVim though are they? They’re emulations which are very nice but not the real thing.

It’s the uncanny valley situation again. For example, in Vim, like all terminals by default you can use C-h as backspace. In Emacs though that’s bound to help.

So now I have to rebind that and make a decision on what should now be help. That’s just the start on the thread pulling and tweaky just to get back to my expected behaviour.

Emacs is great but it’s not Vim. You could argue thatonce configured you have all the new power of Emacs but ome of just want a better Vim. Not Emacs. Even if it’s brilliant.

NeoVim is not quiet Vim which isn't vi either and all are terminal editors first so GUIs may never be as good for them. When I started with Emacs I thought I might use it in the terminal after Vim vs GVim but it's GUI is worth it.

I wasn't long enough using Vim to depend on C-h but if you've the time for all the config it's great to have the options. That reminds me I must still make so changes to Vim Vixen to be more like Vimperator was. It's great having the basic vim commands in Emacs as well, maybe not in org-agenda.

I can specifically recommend doom-emacs.
I've tried all of them as well. gvim is the most performant non-terminal based vim.

I've had better luck with IDEs that have vim like features than projects that try to make vim into an IDE.