Meta(
    title: "How could I not chime in on a discussion about IDE\'s?",
    summary: None,
    published: Some(Time(
        year: 2023,
        month: 5,
        day: 13,
        hour: 14,
        minute: 43,
        second: 29,
    )),
    tags: [
        "unix",
        "editors",
        "software",
    ],
)
---
So you thought we were done with the subject, did you?
=> gemini://clanmorgan.org/gemlog/2023-05-13-wrapping-up.gmi Clanmorgan - Wrapping Up

Well a short time ago we had our nice long thread about SystemD. What other subject could possibly generate so many opinions? Of course if was IDE's and editors.

I've actually lost track of who said what at this point. The whole thing had me laughing actually. I do enjoy thrig's posts on these subjects in particular, coming as they do from an OpenBSD and minimalist perspective.
=> gemini://thrig.me/blog/2023/05/12/trouble-with-ides.gmi

I've used BSD ex/vi in anger myself. I've also used Heirloom ex/vi quite a lot. And BusyBox vi, which is surprisingly good. You can actually be very productive in such a minimalist environment, being as it is so distraction free and responsive. This is especially true if you're not in a graphical session.

That said, sometimes something comes along that isn't so bad. I forget which of you was saying it (sorry) but there was a comment that syntax highlighting is actually a distraction and makes the code less readable. Well, maybe for you that holds true. For me, I'll take it. When it's got a good engine behind it, highlighting makes it so much easier to find a missing or extra semicolon, a misplaced closing bracket, missing quotation mark, etc. It's saved me countless hours of work debugging just based on that. Can I work without it? Of course I can. I choose not to.

I actually used graphical editors mostly all through my 20's. First was Leafpad. I wrote a lot of ridiculously complex shell scripts with that editor. It's only concessions to usability were line numbering and auto indentation (which was pretty dumb indentation, but save a few keystrokes here and there). Then moved to Geany. I still have a fondness for Geany. I love the symbol lookup in the side pane. It strikes a good balance between being simplicity and features IMO. At least it does in the realm of graphical editors.

It was around the time I first mucked about with Linux From Scratch that I forced myself to learn Vim. I've never really looked back after that, sticking with something vi related up to the present day. These days it's NeoVim for me, and I'm not ashamed to say I use a bunch of plugins. My init.lua starts off with kickstart and then builds from there.
=> https://github.com/nvim-lua/kickstart.nvim kickstart.nvim

I have to say, Microsoft's lsp protocol is likely the best thing that has ever come from Redmond. Ok so maybe you can't actually plug it into -any- editor, but it levels the playing field so much that I basically have an IDE which is NeoVim. At least, it has all of the IDE features that I personally am interested in. In fact it actually has more than I need, and I've thought about removing some things from the config. At any rate, the lines are now definitely blurred between just what is and IDE vs what is a plain editor.

What's funny is seeing lsp providing the majority of the IDE 'smarts' in projects like Gnome Builder and Kate. Devil's advocate mode on for just a moment, but neither of those projects is as good as VScode. There, I said it. If I were to use an actual IDE, I'd skip right past the Free Software offerings and ignore the Java crap (because Java == PAIN) and just go ahead and use VScode. But I'm not going to do that, because I'd be missing 'hjkl' the entire time.

But it has VimEmulation! Well, so does every editor released in the past 20 years, either as part of it's initial offering or as some sort of addon (and yes, I am purposely ignoring the entire Emacs ecosystem. I know it's a great OS. It just needs a good editor). But they all suck. There's a huge difference between mimicking some keybindings and actually being a MODAL editor. It's really not just 'hjkl' that I miss. It's an entire way of working. Everything is either a keybinding or a command or both. Usually both. No menus in sight. No side panes. No bottom panes. Just a window, some (optional) line numbering and a status bar at the bottom.

The only thing that's made me consider switching recently is actually another modal editor, Helix. The only reason I don't switch is that Helix based their keybindings mostly on Kakoune instead of Vim. That is just wrong and goes against the natural order. Well, that and I'm not a fan of the way the runtime is split out into a bunch of files that you're supposed to put in your home directory after compiling the binary. It's kind of a messy design. Better to just stick with Vim or NeoVim, as God intended..

I like the modal style of working that my web browser is qutebrowser and I use vimpc for playing music. I wish I could get a full suite of desktop programs that worked in a modal way. A graphical modal file manager would be cool. Short of that, I just keep using 'cd', 'ls' and such.

## Really, just use what makes you happy
As in all things, just use what fits your way of working the best. Personally, I like to have the same editor on a headless system that I use for day to day work in my graphical environment. I like that I can bootstrap a minimal system without a graphical environment and still install NeoVim plus all of the goodies. So it strikes that balance for me, where a graphical IDE like VScode wouldn't. I don't want to become reliant on VScode and then it's not available over ssh from across town into my Raspberry PI home server.

Thrig makes sure to get a few jabs in at Linux while he's expounding the benefits of BSD vi. I say, run whatever OS you enjoy working in the most. Having used FreeBSD for years and dabbled with NetBSD, I'm happier since moving back to Linux. Pretty much all of the software that matters (ie Open Source) is written for Linux and we don't have to port it to our system the way that the BSD folks do. That's an unfair situation to be sure, but I didn't make the rules, I just play with the cards we've been dealt. I'm writing this in a pure Wayland environment (Sway) using a distro that uses Runit for it's init system. Does OpenBSD even have Wayland support? I'm pretty sure it's only gotten to FreeBSD so far, and pretty poorly at that. I love the BSD's, but they're chronically understaffed and under-funded. In short, they're in danger of not even being able to support a graphical environment in the future because at some point X11 is just not even going to have any developers anymore and will suffer chronic bitrot. Anyway, it's just easier over here in Linux land. We get the shiny toys while they're still new. Sometimes they're sort of broken, but hey! At least they're shiny.