About me: I use a GUI frontend for long-running work, and I use the terminal for quick edits (e.g. Git commit messages), as well as when I’m SSH’ed into a server and I can get Neovim installed (otherwise I use the system’s bare vi
).
As you pointed out in the OP, I think some people really just like the terminal. In my experience, something like 80% of the time if you ask “why don’t you use a GUI app?”, the answer is one or more of:
- I have everything at my fingertips on the command line (literally)
- It’s easier to deal with environment variables and working directories if you start your editor from a shell
- My terminal already has the exact colors/fonts that I prefer
- My terminal/screen/tmux is my primary window manager
- I do everything else in the terminal anyway (see e.g. r/unixporn)
- Startup is slightly faster / less visual jumping around to a new window
- The TUI is more portable than a GUI and I can use it on both my servers and my workstation
In light of those answers, it seems like the TUI and GUI are mostly serving different categories of users (or different use cases for a given user), and I’m not sure that convincing people to switch even makes sense as a goal.
However, I agree with @indianboy42 that the GUI can and should offer more than just a window to display the same content as a terminal (and I really like/want all of those suggestions). But I think features like this would mostly make Neovim more attractive compared to other editors (VS Code, Sublime, GUI Emacs, gVim), rather than making Neovim GUI more attractive to Neovim TUI users.
My Neovim-Qt setup looks a lot like the TUI, because I think the Qt widgets look ugly and out-of-place (I also don’t use smooth scrolling). But I don’t think that should be the default that we present to someone who is thinking about trying a GUI.
There are also some notable deficiencies in Neovim-Qt specifically compared to the TUI, especially that you can’t use the mouse to copy and paste text that is displayed outside of a buffer. This includes the contents of the command line, tab line, and status line. I consider this a bug in Neovim-Qt (and it also doesn’t bother me much), but if you’re trying out the GUI for the first time, it would seem like the GUI is actually less capable than the TUI.
Some key combinations are still hard-coded to be “synonyms”, even with GUI frontends, such as <C-M>
and <CR>
. This is an annoying and frustrating limitation; I would very much like to use <C-M>
, <C-H>
, etc. for other mappings.
I am hopeful that Neovim will one day free us from this kind of silliness!
Side note: You probably meant “wary” and not “weary”. I think this spelling error has become common in English, because of how the word “wear” is pronounced. “Weary” is pronounced “wEEry” (like “week”) and means “tired”. I don’t mean any disrespect by this Just trying to be helpful.