I’ve been using emacs since 2010. I use doom emacs now, but I have written my own overcomplicated config at one point in the past. I’ve grown used to it, but sometimes when emacs chokes on some input due to its single threaded nature I have time to wonder if there’s something better for me out there.
I tried a few IDEs in the past, but none of them really suited me. Therefore, I put some thought into what I’m looking for and was wondering if the community knows something that fits these modest requirements:
- Support for editing any programming language (via LSP or something). I regularly have projects that require editing multiple languages. Or multiple projects of different languages. Though usually it’s C, C++, Rust, and Python. As long as these are supported, I can live with it.
- Terminal window is vertical not horizontal. Most of the time I want to see many lines of output rather than long lines.
- No file directory tree (or one that can be hidden away). I find it distracting.
- Can have two files open next two each other split by some vertical separator.
- Common functionality (including opening files) available through the keyboard. GUI is okay for less common functions.
- Ability to edit remote files via ssh as if they were native.
- Built in git GUI client.
Personally, I don’t think these are particularly demanding, but surprisingly a lot of IDEs have failed me on the terminal requirement or remote editing. I have all of this in emacs and to me these are must have features.
I think VS code ticks most of these, but the telemetry puts me off.
Any suggestions? I’m okay with paid IDEs.
SublimeText + SublimeMerge (for git). My perfect pair, I’m using for years. I’ve tried Emacs, vim, Neovim, helix and I always return to ST/SM with a sigh of relief.
I’m not the best person to ask, but IMO, it’s a wasteland out there.
An hour ago, I wanted to add local, super-basic reversion control to a project currently in a JetBrains IDE. Found myself longing for the days of X11, a vi window, and another window for make/run/commit. Emacs would work for me, but all the muscle memory is just gone.
reversion control? JetBrains IDE has built in history as well as integrating with version control systems.
There’s an open source version of VS Code called VS Codium and it’s even available as a flatpak these days. That one has no telemetry and no proprietary marketplace. Might be worth looking at.
Vscodium is a fork of VSC with the telemetry removed
I don’t use it, but I think Sublime Text does, or can be made to do, most/all of these things?
You might check out vim or neovim. It ticks all the boxes but the “native gui” which just becomes your terminal window.