Uncategorized

Crazy Emacs features

I just noticed this gem while skimming the list of packages built into Emacs: landmark neural-network robot that learns landmarks Yes, Emacs is no ordinary text editor. It’s an operating system, a religion, an entire universe unto itself. Here are a few other winners. animate make text dance bruce phrase utility for overloading the Communications […]
Standard
Uncategorized

Emacs vc-git tweaks

I use Emacs, vc, and git all pretty heavily. I know the cool kids use magit and egg, but good old vc has stuck with me through four different “new hotness” version control systems – CVS, Perforce, Subversion, and now git – and I’m sure it will still be around for many more to come. […]
Standard
Uncategorized

emacsclient in TRAMP remote shells

Update: Emacs 26.1 added official support for this with a new emacsclient –tramp option! The 26.1 manual isn’t online yet, but you can learn more with M-x info inside Emacs 26.1, Emacs => emacsclient options. I recently started running shells inside Emacs via shell mode, including ssh sessions to remote hosts using TRAMP. I’m pretty […]
Standard
Uncategorized

why I run shells inside Emacs

Mental context switches are evil. Some people handle them better than others, but not me. I handle them worse. I feel it, almost physically, when context switches whittle down my precious flow piece by piece. It hurts! Even something as small as switching between Emacs and the shell can hurt, especially when I do it […]
Standard
Uncategorized

Emacs Lisp for flowed text email

Here’s some Emacs Lisp for encoding flowed text a la RFC 2646. This is useful for composing email in Emacs. For example, if you use a separate email client and emacsclient as your editor, add this and (add-hook ‘server-switch-hook ‘flow-encode-buffer) to your .emacs to encode your emails as flowed text automatically. (defgroup flow-fill nil “Decoding […]
Standard
Uncategorized

emacs special-display-function: prefer-other-visible-frame

Emacs’s support for special buffer frames, specifically the special-display-function variable and friends, let you customize the way Emacs chooses a window and buffer for new frames that are displayed via display-buffer. Here’s Elisp code you can use as special-display-function that prefers existing windows and frames, as opposed to splitting the current window and frame, but […]
Standard