Emacs 29 is nigh What can we expect?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • doomemacs

    An Emacs framework for the stubborn martian hacker

    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

    SaaSHub logo
  • GNU Emacs

    Mirror of GNU Emacs

  • toggleterm.nvim

    A neovim lua plugin to help easily manage multiple terminal windows

    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

  • homebrew-emacs-plus

    Emacs Plus formulae for the Homebrew package manager

    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!

  • emacs-overlay

    Bleeding edge emacs overlay [maintainer=@adisbladis]

    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.

  • elpaca

    An elisp package manager

    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

  • lsp-tailwindcss

    the lsp-mode client for tailwindcss

    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.

  • lsp-bridge

    A blazingly fast LSP client for Emacs

  • good-scroll.el

    Attempt at good pixel-based smooth scrolling in Emacs

  • crafted-emacs

    A sensible base Emacs configuration.

    And if you find yourself between the two extremes, perhaps https://github.com/SystemCrafters/crafted-emacs

  • popper

    Emacs minor-mode to summon and dismiss buffers easily.

    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

  • perspective-el

    Perspectives for Emacs.

  • persp-projectile

    Projectile integration for perspective.el

  • org-roam

    Rudimentary Roam replica with Org-mode

  • ergoemacs-mode

    ergoemacs-mode

    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.

  • julia-vterm.el

    A simple vterm-based mode for an inferior Julia REPL process in Emacs

  • ob-julia-vterm.el

    Org-babel support for Julia code blocks using julia-vterm

  • julia-emacs

    Julia support in Emacs.

  • melpa

    Recipes and build machinery for the biggest Emacs package repo

  • emacs-libvterm

    Emacs libvterm integration

  • 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.

  • editorconfig-emacs

    EditorConfig plugin for Emacs

    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

    Vim-fork focused on extensibility and usability

    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

  • crux

    A Collection of Ridiculously Useful eXtensions for Emacs (by bbatsov)

    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.

  • dotfiles

    My personal dotfiles for my linux desktop (by bergheim)

  • emacs

    Mirror of GNU Emacs (by emacs-lsp)

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Trying to learn minimal installation arch setup (inside a vm). Looking for a good place to start.

    2 projects | /r/archlinux | 8 Jan 2023
  • 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

    3 projects | /r/neovim | 7 Jan 2023
  • Emacs for Professionals

    11 projects | news.ycombinator.com | 3 May 2022
  • Emacs 29 will have precision scrolling using pixel-scroll-precision-mode

    2 projects | /r/emacs | 2 Mar 2022
  • Vim/Neovim light theme aims at eyes comfort

    2 projects | /r/vim | 1 Mar 2022

Did you konow that Emacs Lisp is
the 21st most popular programming language
based on number of metions?