My Emacs Packages
I’ve been using Emacs for about 7 or 8 years now—maybe a bit less, maybe more. I tried to quit several times for other editors and different workflows, and every time I returned with more enthusiasm.
It’s hard to tell for those who use their editors with mouse clicks
on pretty icons, but once you catch this virus called doing everything
from the keyboard, it becomes attached to your digital (from digitus,
finger) psyche, making it impossible to leave behind. I even purchased an
Android keyboard for my phablet just to ssh to my home and write with
Emacs. Consider that!
Today I stumbled upon several posts regarding favorite Emacs packages and wanted to list mine.
org-mode
I’m not writing this in org-mode because I observed that I can
detail, micro-revise, and lose focus while writing because of its
extensive functionality. Instead, I’m using Zsh’s vared to enter lines to
an org-file when I write first drafts. But editing, keeping, following,
creating plots, literate programming—doing everything that can be done
with text—is possible in org-mode.
I have F11 bound to org-capture and F12 to org-agenda-list.
F9 F9 stores links wherever I like, and I can use C-c C-l in org
buffers to paste them.
w3m
When I want to search Google but don’t like the idea of running a huge browser session just to look up an answer on StackOverflow, I use this.
undo-tree
It shows the versions created by undo/redo of a buffer in a tree format. Emacs’s default undo may be cumbersome at times, but this package is terrific.
wc-mode
To count words in a file. When I forget this package, I use
C-x h M-| wc as a substitute.
auctex
Once upon a time, this mode led me to migrate from LyX to LaTeX itself.
ESS
Emacs Speaks Statistics is an R frontend. I’m not using it daily, but it’s much better than the R command-line client.
Uniquify
Makes buffer names unique. If you have files with identical names, this
is much better than having names like myfile.txt<1>, myfile.txt<2>,
etc.
recentf-mode
A list of recent files.
smex
ido for M-x. Standard M-x selects commands by their prefix; with
smex, you can filter them by any substring. This makes a difference for
those with poor memory.
ahg
I use Mercurial more than Git, and ahg-mode seems like a good
alternative to standard vc- commands.
projectile
It considers directories under version control as projects and defines
functions like find-file, multi-occur, and recentf for them. It’s a
very simple and non-intrusive way to have project management.
elpy
For Python programming, elpy provides completion and much more
functionality.
ack-and-a-half
An ack mode, a hybrid version of the other two.
xgtags
A GNU Global mode for C++ code tagging.