-
If you install Doom Emacs [1] after installing Emacs itself, I think it would be a couple of days. At least if you can live with the things Doom comes with. It's just a matter of following the instructions, uncommenting the relevant modules in .doom.d/init.el, syncing the changes and off you go.
[1] https://github.com/doomemacs/doomemacs#install
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
Thanks for these tips! I'll explore tabspaces, apheleia, async-shell-command (and the Go lib) β all of those are new to me.
> Can you give a specific example of something you had trouble with?
I hoped to recreate multiple long-running terminal sessions in splits and tabs, similar to functionality I now use from:
Neovim (plugin): https://github.com/akinsho/toggleterm.nvim
VS Code (built-in): https://code.visualstudio.com/docs/terminal/basics#_managing...
I just found βpopperβ, which didn't exist the last time I looked. It seems like a pretty close substitute:
https://github.com/karthink/popper
-
My preferred distribution for emacs on macos is: https://github.com/d12frosted/homebrew-emacs-plus
It's well documented and supported, I highly recommend it!
-
Its great to see both eglot and tree-sitter being merged. However, I am unhappy about the state of 'emacs configurations/distributions' right now. I have been using Doom Emacs, but the development is pretty much stalled there [0], and I don't think there is any distribution that is keeping up with these cutting-edge features (compared to the NeoVim ecosystem, let's say). Somehow it feels like I was seeing a lot more activity about Emacs configurations two-three years ago.
> Compile EmacsLisp files ahead of time
Ooh, this is interesting. Hoping to see a derivation in https://github.com/nix-community/emacs-overlay soon.
[0] I am not complaining though as Doom was the main author's personal config from the get-go. I am just pointing out a void.
-
Just an fyi for people using straight or interested in it, its maintainer is working on an alternative called elpaca.
https://github.com/progfolio/elpaca
-
As far as out-of-the-box support, I think it works great. Much easier to configure than lsp-mode.
However, for my uses with a Ruby/React+TSX setup the performance was lacking on a large codebase. I swapped back to lsp-mode and the experience felt smoother.
IIRC the author's stance on previous discussions around multiple language servers was to rely on flymake instead, since the previous discussion centered around ESLint + TypeScript. Tailwind is a bit of an issue in the ecosystem right now, but you may want to try https://github.com/merrickluo/lsp-tailwindcss.
-
omnisharp-vscode
Discontinued Official C# support for Visual Studio Code [Moved to: https://github.com/dotnet/vscode-csharp]
For me its been the questionable stewardship of vscode (https://github.com/omnisharp/omnisharp-vscode/issues/5276) and the Emacs from Scratch videos from the System Crafters youtube channel. When I was looking for alternatives I stumbled on those videos and they blew me away.
Also Emacs 28/29 has been way more welcoming and easy to get started with than when I first tried 8 or so years ago.
-
apheleia
π· Run code formatter on buffer contents without moving point, using RCS patches and dynamic programming.
1.projectile-kill-buffers or the built-in project-kill-buffers will do that for the current project. You could run that before switching projects.
2. https://github.com/radian-software/apheleia
3. There might be a way to do this but I'm not sure. Emacs being inherently single threaded probably makes this difficult. But yes, I use M-x (re)compile.
4. libvterm is the best still imo. You can definitely do multiple instances and there's even different tab modes in Emacs now.
-
-
-
And if you find yourself between the two extremes, perhaps https://github.com/SystemCrafters/crafted-emacs
-
Thanks for these tips! I'll explore tabspaces, apheleia, async-shell-command (and the Go lib) β all of those are new to me.
> Can you give a specific example of something you had trouble with?
I hoped to recreate multiple long-running terminal sessions in splits and tabs, similar to functionality I now use from:
Neovim (plugin): https://github.com/akinsho/toggleterm.nvim
VS Code (built-in): https://code.visualstudio.com/docs/terminal/basics#_managing...
I just found βpopperβ, which didn't exist the last time I looked. It seems like a pretty close substitute:
https://github.com/karthink/popper
-
-
-
-
For example I use https://github.com/ergoemacs/ergoemacs-mode, with some commands that I have acquired as muscle memory from using Emacs/mg for long. And still I use nano when I need to do small edits to a file. I also do it almost without thinking about it, especially when doing "sudo nano whatever". Mg should be better for me, but nano is engraved into my palms for some reason.
-
-
-
-
-
-
dtrt-indent
A minor mode that guesses the indentation offset originally used for creating source code files and transparently adjusts the corresponding settings in Emacs, making it more convenient to edit foreign files.
For #2, I've been pretty happy with dtrt-indent (https://github.com/jscheid/dtrt-indent) for DWIM indentation bouncing between projects.
I have yet to try apheleia, but I wouldn't be surprised if just enabling apheleia, dtrt-indent, and editorconfig-mode (https://github.com/editorconfig/editorconfig-emacs) in prog-mode-hook just did what you wanted.
-
For #2, I've been pretty happy with dtrt-indent (https://github.com/jscheid/dtrt-indent) for DWIM indentation bouncing between projects.
I have yet to try apheleia, but I wouldn't be surprised if just enabling apheleia, dtrt-indent, and editorconfig-mode (https://github.com/editorconfig/editorconfig-emacs) in prog-mode-hook just did what you wanted.
-
Neovim. It is lighter weight than either Emacs or VS Code but can still have pretty much all the bells and whistles. Definitely cool if you prefer to live in a terminal.
There are several GUIs for Neovim for various platforms [1].
[1]: https://github.com/neovim/neovim/wiki/Related-projects#gui
-
For those still on 28, crux-rename-file-and-buffer does the same thing (https://github.com/bbatsov/crux). I've been using it for half a decade at this point. This sort of command, that no other code will rely on, was never that important to get into core, and there's some merit in making people create the commands they needed. It's not like with the additions to subr and subr-x libraries (string-replace, string-search etc), which can't come fast enough.
-
-
Related posts
-
Trying to learn minimal installation arch setup (inside a vm). Looking for a good place to start.
-
Syntax highlighting for JavaScript that uses coc-tsserver? The picture shows how my JavaScript import statement looks like currently on top, and below is how it should be highlighted
-
Emacs for Professionals
-
Emacs 29 will have precision scrolling using pixel-scroll-precision-mode
-
Vim/Neovim light theme aims at eyes comfort