I used to think I’d never need to know LISP. I was wrong.

At first, when I accidentally overwrote my Windows hard drive with Linux, I switched between Emacs and vi a lot. All I knew about Emacs was that it took a long time to start up. Then one day while learning PGP, I came across a newsgroup post about MailCrypt, which mentioned that it integrated seamlessly with Emacs MailUserAgents, noting “You do use Emacs to read your mail, don’t you?” In fact, I didn’t, but I figured it would be worth trying, so I launched Rmail. That led to ViewMail (VM), and then Gnus.

Later on, I began using EmacsIRCClient, then CalendarMode with AppointmentMode, and now I’ve all but done away with my xterm with Eshell. My X setup now consists of an Emacs window running full-screen under ratpoison, occasionally a web browser, and that’s all.

Ever since GNU Emacs 20.1 came out, I use Emacs. Before that I preferred XEmacs.

Edits that didn't make it into the wiki

Here’s some stuff I meant to add but couldn’t get in for one reason or another:

Variable Pitch (aka Proportional Spacing)

Plan 9’s “Acme” editor does proportional spacing on fonts. After a few years I realized it’s actually kind of nice, so when it was time to come back to Emacs, I set up the following.

There are very few editors that can handle proportional-spaced fonts. Notably, vim claims the concept is so foreign that it will probably never support it.

There are occasionally things that really need monospacing, notably a lot of command-line programs. You can toggle between variable and fixed pitch with “C-c m”.

;;; If you don't have "Roboto Mono" and "Roboto", try:
;;;   * "Ubuntu Mono" and "Ubuntu"
;;;   * "DejaVu Sans Mono" and "DejaVu Sans"
(set-face-attribute 'default nil :family "Roboto Mono" :height 110)
(set-face-attribute 'variable-pitch nil :family "Roboto" :weight 'regular)
(set-face-attribute 'mode-line nil :inherit 'variable-pitch)

(setq neale/not-variable-modes '(calendar-mode))
(defun neale/probably-variable-pitch ()
  (unless (member major-mode neale/not-variable-modes)
    (variable-pitch-mode 1)))
(add-hook 'after-change-major-mode-hook 'neale/probably-variable-pitch)

(global-set-key (kbd "C-c m") 'variable-pitch-mode)

Welcome to the wiki! Do you hang out on #wiki? – AlexSchroeder

Thanks, Alex! 😊 I’ll check the channel out.

Hah, I fixed rcirc-controls.el and was about to paste the new code when I realized that you had done the very same fix yesterday. Awesome. – AlexSchroeder