Emacs

GO HOMEEDIT

Emacs is a fully-featured programming environment.

It's often (or most commonly) referred to as a text editor, but this isn't the case. Other editors are designed to offer first-class interfaces for configuring keyboard shortcuts, text configurations, etc.

However, emacslisp is structured not to be used as an editor configuration with some additional logic capabilities, but rather as a fully-featured programming language with proper language facilities.

Emacs is my desktop environment. EXWM was my window manaager, elfeed is my RSS reader, mu4e is my email client and so forth. The one program that does not have a proper Emacs interface is the web browser, so I use Firefox (and web apps) for most other tools.

This isn't to cause myself undue pain. It reduces context switching between the keyboard shortcuts of many programs and their keybindings, and allows time tracking, task tracking and information management (all fractured, often difficult concepts) to be managed by Org Mode entirely within Emacs. This tight integration allows me to take notes and track time without having to switch contexts to other programs with other user interfaces.

^ I don't really stick to this anymore, because emacs is honestly not slow and performant. It's much better to treat Emacs as a text editor and have other purpose built programs. Though there is a future where all text editing configuration is orthogonal to programs and handled independently, it is far from here yet.

Tools

cloudmacs

allows you to self-host your emacs configuration and access it in the browser. :O

Frameworks

Doom Emacs

The framework I use; focuses on optimization and concise configuration

Spacemacs

I used to use this. It's too bloated for my tastes.

Scimax

Scientific Emacs framework. Set up to serve as a good introduction!

Configurations

https://github.com/sulami/dotfiles/blob/master/emacs/.emacs/README.org: good example of a literate emacs configuration http://aaronbedra.com/emacs.d/: great example of a configuration rendered as a webpage with org mode!

https://www.reddit.com/r/emacs/comments/4srze9/watching_youtube_inside_emacs_25/ watching youtube in emacs https://www.emacswiki.org/emacs/ExampleConfigurations https://github.com/munen/emacs.d https://github.com/jhamrick/emacs https://github.com/howardabrams/dot-files https://github.com/jethrokuan/dots https://github.com/codygman/hci https://github.com/zaeph/.emacs.d https://github.com/Ambrevar/dotfiles

https://www.youtube.com/watch?app=desktop&v=PKaJoqQQoIA configuring emacs configuration https://github.com/shrysr/.emacs.d https://github.com/purcell/emacs.d https://github.com/zaeph/.emacs.d https://github.com/munen/emacs.d

Nix and Emacs configurations

https://github.com/kinnala/nixemacs https://github.com/benley/dotfiles/blob/master/overlays/emacs.nix https://blog.jethro.dev/posts/nix_buffer_emacs/ https://github.com/purcell/nix-emacs-ci: test your emacs code against a wide variety of upstream configurations https://www.reddit.com/r/emacs/comments/ekr5ek/experimenting%5Fwith%5Fremembrance%5Fagents/ https://github.com/zachcurry/emacs-anywhere use emacs anywhere m g vs goto line in emacs

https://www.reddit.com/r/emacs/comments/hywxef/visually_differentiate_between_links_to_files_and/ differentiate between links to files and links to websites in org

Doom configuration

https://github.com/forrestchang/.doom.d sunnyhasija/Academic-Doom-Emacs-Config: My doom emacs configuration files

https://github.com/NatTuck/doom-config/blob/master/config.el#L12 -- nat tuck's configuration https://github.com/christabella/doom-emacs-config https://tecosaur.github.io/emacs-config/config.html https://dotdoom.rgoswami.me/config.html https://github.com/christabella/doom-emacs-config comprehensive instrs

Optimisations

don't change gc-cons-threshold

fix constant garbage collection by setting it very high when something happens, and changing afterwards to prevent constant garbage collection and freezing when the heap gets too big

https://anuragpeshne.github.io/essays/emacsSpeed.html

other emacs pro tips

Community

Portland Emacs Hackers

Package Suggestions

tanglesync

sync org mode files with dotfiles external to them

  • emacs matrix client emacs matrix client

  • mark

    add drawings to org mode from your ipad, and orch, an alternative for Android

    recoll

    emacs binding for recoll text search engine

    quick-peek

    peek at a window inline!

    elegantt

    gantt chart (??) in org.

    doct

    declarative format for org capture templates. use this in the future - seems better!

    KeyChord

    binding commands to combinations of keystrokes

  • https://github.com/purcell/windswap

  • emacs everywhere

  • https://github.com/ibizaman/emacs-conflict emacs conflict

  • https://git.carcosa.net/jmcbray/gemini.el gemini server for emacs

  • https://www.emacswiki.org/emacs/TrampMode#toc1 tramp-mode for editing files on servers

  • swap emacs windows

  • https://github.com/Bad-ptr/persp-mode.el

  • https://github.com/davazp/graphql-mode gql mode for emacs

  • https://github.com/lassik/emacs-format-all-the-code autoformat source code for many languages

  • Links

    Brief guide to Emacs hooks emacs everywhere literate devops with emacs

    Magit

    https://magit.vc/manual/forge/Token-Creation.html#Token-Creation magit has a cool interface for making pull requests, but the documentation does not make clear how fully featured it is...

    emacs

    https://karthinks.com/software/batteries-included-with-emacs/ fun things that come with emacs!

    Plugins

    https://github.com/abo-abo/avy jump to visible text with a character based decision tree http://www.howardism.org/Technical/Emacs/templates-tutorial.html configure snippets in emacs https://www.youtube.com/watch?app=desktop&v=gfZDwYeBlO4&amp%3Bt=2785s 'play emacs like an instrument' https://www.youtube.com/watch?app=desktop&v=4-ubCJF9htw emacs macros and hacks

    Mail

    Mail Overview of reading and writing email with Emacs Mu4e - dealing with sending html Manage multiple emails with MU4E emacs wiki MU4E Manage mail deletion with NotMuch literate devops with emacs using dir-locals send html email with mu4e mu wizard for easily setting up mu4e

    Music

    Music Emacs Org and Overtone quick intro · Bastien Guerry - Liberté, informatique, choucroute. Using Emacs Music with MPD Emacs interface for MPD Music Player Client for Emacs Configure EMMS --- Emacs Multi-Media System on GNU/Linux

    Backlinks