Doom[0] (and Spacemacs probably too) supports lsp-mode quite well and it mostly works out of the box - for some languages more than others. As someone who only recently started using emacs it's been a great experience.
I've never had much luck with Doom or Spacemacs. It's probably at least 6 months since I gave them a drive but I vaguely recall them being pretty oriented around the subject-matter files being on the local filesystem, and in fairness that's a pretty reasonable assumption for a lot of users.
As much as I like full-color and other local-emacs niceties, I've long since knuckled under to the fact that usually my local appliance is unlikely to either complete my builds in a reasonable timeframe and/or have cuDNN properly configured.
Does either Doom or Spacemacs in fact run well under e.g. `tmux` on a heavy box somewhere? It might have been the case that I missed it last time I looked, it might be the case that one or both have since added that as a use case, or some other thing.
As other comments note, TRAMP is the way to go for remote work. I’m able to do everything on a remote / AWS / GCP box that I would do locally. If you’re into Deep Learning / data science you can also run Jupyter Notebooks in EIN with, say, a GCP Vertex / AI platform backend (though EIN isn’t 100% reliable for every production use case).
emacs is most certainly an acquired taste but, like most acquired tastes, is cherished by those who persist and come to love its flexibility, extensibility and power.
I’m one of those people.
No matter what else I try — and I still really enjoy using VSC as a backup — nothing else comes close to my particular set of workflows (mainly data science / deep learning / AI research across Python, C++, R, TeX). Throw in the power of org, beamer, pdf tools, journaling, email, rss, web browsing — you name it — all in one place…I really never need to leave it.
Oh that would be great. If you get writer‘s block or if you‘re looking for ideas on what to write about, feel free to DM me (Twitter handle in my profile).
I can tell you a whole bunch of questions I‘d have as someone who considers himself a pro user and who‘s been hearing about Vim and Emacs a lot, hears the „calling“ of greater productivity and ergonomics and an improved human-computer-interface, but has never quite been able to take the plunge.
Yes, Emacs can run very well under tmux on a powerful remote host. I do lots of development that way every day at work. It does take some configuration, and it really helps to have a modern terminal emulator (I use iTerm2 on macOS). Here are some unexpected things I have working with tty Emacs under tmux:
* 24-bit color themes[0]
* Hyper key bindings, also bindings like C-., C-;, etc
* Icon(all-the-icons) via alternate non-ascii "icons-in-terminal" font
* Mouse support w/ scroll wheel (xterm-mouse-mode)
* System clipboard integration (OSC-52)
* Very nice in-emacs terminal emulation via vterm
I build my own Emacs on these powerful remote hosts which I've automated with some Ansible scripting, because the OS vendor's Emacs packages are almost always a couple revisions behind. This way I can build in things like support for native compilation, modules (required for vterm) and rip out things I don't want or need like X support, jpeg, png, gif, etc.
As long as your latency via SSH to the remote host is reasonable, in my opinion this is approach is considerably better than what TRAMP offers in terms of speed and ease of use.
It's easy to forget this is an option because it's so rarely practical nowadays what with all the bitmap graphics and 3D acceleration requirements for even half-decent performance, but Emacs actually still works fairly well over a remoted XWindows connection. There's a bit of startup slowdown, and sometimes when switching back to it from another window it may take a moment to redraw, but most editing usage is surprisingly good. Of course this depends on latency to the target.
This may be as simple as "ssh -X $TARGET" and running "emacs". You'll know fairly quickly whether it's practical or not.
That's interesting, I haven't used `tramp` seriously in awhile (ditto `sshfs` etc.)
How do you find the experience of running the build remotely but getting error messages in a local buffer, or running `git-grep` when LSP pukes for whatever reason, or any of the other stuff that is fairly straightforward when emacs is on the same box as the source and build tools?
I don't ask out of snark: I'd friggin love to host emacs on my appliance and seamlessly interact with the real machine, and I gather VSCode has a pretty solid story on this, but I've failed to get that result enough times with emacs that I sort of timed out on it.
If you have e.g. dots on github or whatever that make this fly well I'd love to test-drive it.
[0] https://github.com/hlissner/doom-emacs