25.1 Emacs

20210312

Emacs is not just one of the most sophisticated editors available, but an integrated development environment for everything, including the kitchen sink.

Emacs comes with an extensive collection of packages implemented in elisp developed over 40 years (I wrote my first elisp package in 1986).

In general, to use these extra packages that are not included in the Emacs distribution or available as Debian elpa-packages, you can use autoload where possible, so we do not load every thing at startup. Use require when the package has to set things up in advance.

I like to manually install packages, generally from their git repository, installing those packages into ~/.emacs.d/elisp which needs to be added to the package path. I add all directories/files under the path ~/.emacs.d/elisp into the load path so that packages can be installed there from git or manually as independent files and found by Emacs. Another common path for this is ~/.emacs.d/lisp.

(let ((default-directory  "~/.emacs.d/elisp/"))
  (normal-top-level-add-to-load-path '("."))
  (normal-top-level-add-subdirs-to-load-path))


Your donation will support ongoing availability and give you access to the PDF version of this book. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Popular open source software includes rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2022 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0