Hacker News new | ask | show | jobs
by zetaposter 1363 days ago
A text editor without a well rounded GUI story isn't worth it for me. There are all these desperate projects each with their own focus, ranging from "simple graphics acceleration" to "tons of bells and whistles, animations and ad-hoc UI extensions".

UI should be thought out at PRs and issues, but the same people who develop the main core. But they don't have to, because they're making a terminal application, which has its use cases.

But I so no reason why I should type my text in a terminal, when I can use a proper GUI application.

And I'm not even suggesting VSCode, even Emacs is better in this regard, which is what I use.

6 comments

One of the main features of NeoVim over VIM is that NeoVIM can be embedded into other programs and new GUIs can be built that use libvim. There are now programs you can download that do that, for example [1]. Certainly, this is still an experimental line of software and I don't use the NeoVIM GUIs and don't claim that this has been proven a success yet, but there are some encouraging signs.

https://github.com/topics/neovim-guis

I’ve used a few of the Neovim GUIs; they each have a different take on UI/UX for a Neovim GUI.

I’ve been using VimR the longest, which is a Mac-native GUI for Neovim: https://github.com/qvacua/vimr

By vim user count alone, I would conjecture that the venn circle of philosophically opposed devs has more people insisting on the absence of a GUI story, than those insisting on one.

Of course the vast majority of devs use whatever suits them, GUI or not.

And you couldn't have picked an editor with a worse GUI story.

Do you have any refs/links of UI thought out at PRs and issues that you think are good examples?
> A text editor without a well rounded GUI story isn't worth it for me.

ed is the standard text editor.

https://www.gnu.org/fun/jokes/ed-msg.html

You're right. An environment that's all text and generally uses fixed width fonts is not at all the proper place to run an editor for dealing text that is best understood by displaying it with fixed width fonts.
The terminal is superior. You are just not skilled enough or advanced enough in thought to imagine what an interface can truly be.
Is this a sarcastic remark? If not, this seems like an extremely reductive stance. Surely one could imagine another skilled person preferring a GUI over the terminal, even if it's not an opinion they share :)
There is no sarcasm here. Zero.
Your terminal application is an emulator of a decades old technology originally used in physical consoles, with layers upon layers of enhancements that add support for colors, cursor control, etc. At it's core, it's just a grid of characters. The GUI as a platform is quite literally a superset of the terminal, for example because the terminal emulator app is a GUI itself. Hacking the grid of characters to render lines as if it was a GUI is hardly "superior".

I say all that as an avid neovim user myself by the way. On mac/linux I use it through the terminal, on Windows I use it through the QT application.

The new generation of terminals are nothing like what you’re describing: GPU acceleration, full color support, font shaping, support for ligatures, built-in support for multiplexing, SSH and more.

WezTerm [1] is probably the best example right now but there are others.

These aren’t your father’s terminals.

[1]: https://wezfurlong.org/wezterm/

Of course they are. Your new generation terminals still use decade old protocols, using the same escape sequences to control the cursor position, colors etc.

The "lines" and other UI elements you see in those next generation terminals when you run TUI apps like neovim are still simple characters aligned next to each other to look like a line etc.

Stuff like GPU acceleration is only another layer which was put on top of all of that. At the core they're still using the same old technology.

OTOH it's already probably a couple decades since some more fresh terminal emulator projects have popped up that kick a bit into the old cruft and provide both lightweight stuff and actual drawing routines for specific stuff. From a graphics dev pov it's not nonsense to decide for rendering on a grid, even for UI, i see it a bit like voxel 3D engines.

So i'm really not sure the "layers upon layers" critique is well suited for terminals, in comparison with say some qt/gtk/electron/<your gui>. Also GP is mentioning emacs, which is mostly the same old cruft as a terminal emulator.

A real terminal or a fake one drawn ontop of a gui emulating deacades old cruft?

Complete madness and inefficiency.