EmacsConf Live Now

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

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • dotfiles

    Mostly emacs setup (by runekaagaard)

  • Brews coffee... Oh yes, Emacs is my forever editor. It was created before I was born and will (hopefully) join my digitally converted consciousness on humanity's travels to the stars!

    I got tired of switching editors for different languages (PyCharm was too slow for JSX code) and decided to invest in getting Emacs to behave like a decent editor. That took a while :)

    I've programmed in Python, Clojure, Nim, Cython, JS, JSX, and a host of other languages. LSP support is getting REALLY good with three strong contenders: the minimal eglot that is in Emacs core, lsp-mode which is the most complete solution, and lsp-bridge that is super fast.

    The single thing I love about Emacs is that everything is text. I can do a project-wide search (find-file-in-project), turn off read-only mode, use delete-non-matching-lines to remove stuff I don't want, turn on read-only mode and peruse the remaining matches. Then I can turn on wgrep-ag mode in the search results buffer, search and replace changes, and commit them to all the files. It's a powerful concept.

    We are not a single-editor shop, we have Vim, PyCharm, Sublime, etc.

    Extra compatibility is just a package-install away, and the ecosystem is thriving. My must-have utilities are expand-region, iedit, multiple-cursors, whole-line-or-region, pdf-tools, try, find-file-in-project, helm-ag, rg, undo-fu, and the list goes on :)

    It has great workflows for compilation, buffer (file) switching, window management, tiling, and SO much more. For me, at least, every new feature requires a lot of tinkering, but the setup has been extremely stable across Emacs versions. Emacs development is very active and in recent years has been going in a great direction.

    A great book to get excited about Emacs is https://www.masteringemacs.org/. Oh, let's share configs too, here's mine: https://github.com/runekaagaard/dotfiles/blob/main/.emacs.d/... :)

  • pre-commit

    A framework for managing and maintaining multi-language pre-commit hooks.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • dotemacs

    emacs configuration for vim users (by bling)

  • If anyone is looking for a solid Emacs configuration, I highly recommend checking out:

    https://github.com/bling/dotemacs

    This is particularly useful if you appreciate the Vim (Evil) style of text editing but want to adopt Emacs as your operating system (apps) for everything.

    Bailey Ling, the creator of this configuration, transitioned from Visual Studio to Vim to Emacs. He has authored several Vim/Emacs packages, including vim-airline.

    Here's a video of him demonstrating Evil mode:

    https://www.youtube.com/watch?v=PeVQwYUxYEgu

    What makes his configuration stand out is:

    He has a multitude of useful packages pre-configured. This is also why people appreciate Spacemacs and Doomemacs (but more on that later).

    His codebase is incredibly easy to understand and modify.

    I've declared Emacs bankruptcy several times (building from a plain config, Spacemacs, Doomemacs, cloning another high-profile user's config, etc.)

    The issue with Spacemacs and Doomemacs is:

    They have a massive codebase. You can, of course, just configure the layers and treat everything else as black boxes, but that doesn't truly make Emacs an extension of your own.

    There's always some maintenance required to keep up with upstream, especially if you've made a lot of non-surface level changes.

    Bling's dotemacs is essentially just one core-boot.el, which sets up a loop to pick up all config/.el and binding/mode/.el files.

    To add some features, you simply need to add to config/ and a new binding.

    To remove something you don't want, just delete a pair of files (config & binding).

    I never realized that my messy config was partly due to having features and key bindings tightly coupled together (like using the use-package macro). Now that these are separated, it's much easier to modify it to my liking.

    Also, I don't have to worry about syncing with upstream, since I understand what each and every file does, and I have made massive changes to it.

    I have since stolen a lot of features I want from spacesemacs and other users and adapted it to my own config.

  • org-jira

    Bring Jira and OrgMode together

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