I am a NeoVim user. I prefer to do most of my writing inside of NeoVim, and I've been that
way now for several months, and I've used NeoVim or Vim before that for quite a long time. I think
Vim is fantastic, and I proclaim its greatness from on high. I think it's just the best text
editor there is, and I will fight you Emacs traitors forever and argue that and debate it
forever. But that's really beside the point, because today I want to talk about something
a little bit different, and that is called NeoVide. Now NeoVide is a GUI version of NeoVim.
If that sounds weird to you, it is because it's weird. Now it's been around for quite a while,
and there are other graphical front ends for Vim and NeoVim out there, and they all have the same
problem that I have with NeoVide, and that problem is that I don't get it. I don't understand the
purpose. Now the reason why is because, listen, there is a reason why people prefer GUIs, right?
GUIs definitely do provide some strategic and efficient benefits over a terminal interface
in a lot of cases. So it offers you the ability to have better font rendering. It gives you the
opportunity to have menu systems and buttons and things that you can click on and all this stuff,
right? There are benefits to using a GUI. There are benefits to using a terminal. What I don't
understand is why you take a terminal and shove it inside of a GUI, but not give the benefits of a
GUI. So that's what I'm going to talk about today. So let's take a look at NeoVide. This right here
is NeoVide, and if you were confused and thought, Matt, that's just NeoVim in a terminal, I can
understand where you'd think that, because it looks like NeoVim in a terminal, but with less
theming than you'd normally see and nothing else. I don't know if this looks a little bit
different in a desktop environment, but inside of a window manager, this is what NeoVide looks like.
And like I said, it looks like a terminal. If I were to open up these exact windows in a terminal,
so if I go to another workspace here, open up a terminal, and then cd into my repo here or
something, and then I don't even, alacrity, and then into alacrity.yaml, which I think is one of
the files that I have open, this is what regular NeoVim looks like. And it has a little bit more
theming because it follows some of the colors from my terminal, but other than that, it kind of looks
the same, don't you think? I mean, it looks like a terminal, and that is the first thing that you
use NeoVide. Now, it does proclaim that it has some features that you can't get in NeoVim,
and I'm not sure that that's true, but let's go through a couple of them. So first is this really
weird cursor that they have, and you can change this cursor to several different options. The
default one looks like this, so if you click, because this is very much a mouse-based interactive
UI sometimes, if you click on something, you can see this, it's not even doing it really well.
Oh, you kind of saw it there, it moves really, really fast. Like if you,
you see how it kind of like animates? It's really hard to see because it moves so fast,
and it's kind of, it feels kind of glitchy. Oh, it looks even better this way if you just drag
and in visual mode, and if you switch over here, see how it kind of jumped and stuff? Yeah, that's
that's a cursor. That is, it's, as far as I can tell, that's its selling feature.
That's the thing that grabs people's attention. Like, oh, that cursor is really cool,
and if we look at their GitHub page for their documentation, we can see that there are several
other cursors that you can enable. So there's one called Railgun, which apparently shoots back and
forth even faster than the one that I just showed you. There's Torpedo, which again looks even
faster. One called Pixel Dust, which looks like this, which I don't, it's, I think that what's
differing here is the trailing like dust after it, which you can't really see probably on camera at
all. It's very, very subtle, that part, and then there's this one here, which apparently like
flashes when you click. It's a little weird, and like there's several of them, and we can go
through all of them if we wanted to, but you know, there's several little cursors that you can change,
and that's its selling feature. Supposedly, it also has Ligatures, which is a terminal feature,
not a text editor feature. As far as I'm aware, Ligatures come with specific terminals. Like,
Kitty has Ligature support, I believe, so that would be then supported terminal-wide. Whatever
application you had would use Ligatures. I'm assuming that's the way it works. I've never
used them before, but this has Ligatures built in, so it's basically taking a terminal feature
putting inside of Vim, which is, I suppose, makes sense because you're not using a terminal even
though it looks like one, right? Another feature is they have the animated cursor, which we just
talked about, and then they have smooth scrolling, which, I mean, okay. I mean, if I were into,
if I go here, I mean, my scrolling looks pretty good too, and I mean, okay. I mean, I don't think
that's much of a benefit, but maybe some people prefer to use their mouse in Vim. I don't really
understand why, but let me stop there for a second. Like, I would understand wanting to
use your mouse inside of a GUI version of Vim if it had other features, right? So, like I said,
there are benefits that you get to using a GUI, and one of them is a big one, and I thought this
was going to be the killer feature for me because I thought I was going to be able to go use a
version of Vim outside of a terminal that had proper font rendering. So, what I mean by that
is, like, if I were to have a heading inside of a markdown file, and it's like an h1 heading,
it would actually change size to the h1 heading size, right? Instead of in the traditional Vim
fashion, because it's in a terminal, and all text is the same size in a terminal, you know,
it just stays the same size. It just maybe highlights it or something, and that was the
feature that I was really hoping something like this would have, but it doesn't. It just, it
doesn't, and that's disappointing to me, but also confusing because what was the purpose of making
a GUI version of NeoVim if you're not going to provide a feature that GUIs normally have? Now,
it's possible that I'm just not understanding the purpose of this application. Maybe it's not
really supposed to be a quote-unquote GUI version of Vim. Maybe it's just supposed to be a standalone
terminal that does nothing else other than NeoVim. Maybe that's what it's supposed to do. I don't
know, but the features that it proclaims on their website aren't really all that interesting to me.
So they have this animated windows thing here that looks kind of cool, but I don't know how it works.
I've never been able to actually get that to work. I've been working on, I've been playing around
with this for, like I said, a few hours, and I can't get that to work, and there's no instructions
here as far as I can tell on how to actually use this. The same thing with this blurred
floating window. I'm not sure what you use that for, but apparently it's there. Maybe it's for,
like, oh, it looks like it's, they use it as like a terminal pop-up, which could be cool,
and then they have emoji support. Not picture support, but emoji support. Like,
if you're, again, if you're in a GUI, theoretically, you could support images, like actual
pictures and photos, like inside of a Markdown file again, but no, that's not supported here,
just emojis. Again, I mean, I may be wrong, but if I were to actually go into insert mode here,
I'm going to kill my lacquer defilt config, so I can't save this, but if I were to
insert a emoji, yeah, I have, that's regular NeoVim. It has emoji support. I don't know,
because again, NeoVim's not, it's not divorced from the terminal. If your terminal has emoji
support, NeoVim has emoji support. That's the way it works as far as I'm aware, so that, again,
not a standout feature, because that works not, obviously, the emoji doesn't show up, like,
the colored emoji, so that's going to be different, so if you wanted to color emoji,
then I suppose that's, you know, a benefit, but again, I don't know, because this whole thing,
I just don't get it, but the thing is, is that this is not a Neovide problem. I've tried multiple
quote-unquote GUI front ends for Vim and NeoVim. I tried GVim today. I've tried several other ones.
I can't even remember what their names were. I've tried like five or six of them, and they all have
this exact same problem, in that they proclaim themselves to be a GUI front end for Vim or NeoVim,
but they don't offer any of the options that a GUI would offer you. GVim is actually the only one
that comes with GUI options. As this is, this right here is GVim, and as you can see, this one
actually has some things that you'd expect out of a GUI, so there are buttons here that you can press.
It does things like switch between buffers through a menu system. You can choose different views in
different windows, and, you know, how to, you can split using actual, like, the menu system if you
wanted to. You can choose your syntax highlighting and stuff like that all from a menu system. This is
what a GUI is supposed to give you, and that's cool. It doesn't have the cool font rendering
features that I was hoping for, but at least this here, if you wanted a GUI front end for Vim,
this gives it to you, at least somewhat. Way better than this does, which is just a terminal with NeoVim
with a fancy cursor, as far as I can tell, and again, like I said, at the end of the day,
I just don't get it. Like I said, there has to be something that I'm missing. Something,
you know, maybe there are some hidden documents that I didn't see in their documentation. Maybe
there is some features here that I just don't understand or didn't get or missed or something
like that. It's possible, but as it is right now, I just, I don't get it. Like, here's another thing.
Like when you, if you have a GUI and you want to configure it, usually you'd expect like a
settings panel or something, like a preferences panel, like with, you know, if you have a KDE
application, it has a settings panel, which has a ton of settings in it, right? Or if you want
to change the settings in like Firefox or OBS or something like that, it has a settings panel.
NeoVide is configured in a configuration file. It's actually configured in your NeoVim configuration
file, as far as I can tell, but whether that's true or not, I don't actually know. All I know
is it is configured inside of a configuration file, which again, defeats the purpose of having
a GUI front end for NeoVim, because if you are the type of person who would want that,
you'd probably also want to be able to configure it inside of a GUI, which you can't seem to do.
I don't get it. I don't understand. And like I said, it's 100% possible that this just blew
over the top of my head and I missed something completely obvious. You know, I am an idiot.
I even play one on TV, but as it is right now and with the time that I've spent with it and
the time going through the documentation, I don't get it. It doesn't mean that it's not okay to
exist. Like it's fine. If you want to use this, it's okay. It's like a dedicated like NeoVim
tool that just does NeoVim. It sounds okay to me, but like I said, I don't know why,
what benefits it would give me or anybody who's just uses NeoVim, just use NeoVim.
NeoVim offers all of these functionalities that it's supposed to offer. And it's also
just NeoVim. You're not introducing anything else because this is written in Rust. So you have to
have the Rust dependencies and all that stuff in order to actually get this thing to work.
And that adds an extra, like a layer in between you and NeoVim, which is not necessary seeing
as how it doesn't really offer you anything other than a fancy cursor, as far as I can tell. So
that is it for this video. If you know the reason why NeoVite actually exists and if there's
something really good for it, and then I just missed it, leave those in the comment section
below. I'd love to hear from you. You can follow me on Master Designer Odyssey. Those links will
be in the video description. You can support me on Patreon at patreon.com slash LinuxCash,
just like all these fine people. Thanks to everybody who does support me on Patreon and
YouTube. You guys are all absolutely amazing. Without you, the channel just would not be
anywhere near where it is right now. So thank you so very much for your support. I truly do
appreciate it. Thanks to everybody for watching. I'll see ya next time.