A quick introduction to Emacs
I do many of my tasks within Emacs, a "family" of text editors (really just a Lisp interpreter) that can do a lot of things (some people say anything). Tasks I do in Emacs include note taking, programming (mostly in R), tracking RSS feeds, doing version control, and managing citations.
I am sometimes asked how to get started with Emacs, so I've created this (very) basic repository with some tips and links to more comprehensive guides.
Emacs is most at home in a Linux or BSD environment (its use of dotfiles will be familiar to such users, for example), but it works quite well in Windows and OSX. However, to use all of Emacs' features in Windows, you will also need to install https://www.cygwin.com/install.html.
One of the strengths of Emacs is its use of (and ability to customize) keyboard shortcuts or keybindings.
Most keybindings begin with either the CTRL button or the ALT button. In most guides they are shortened as follows:
C = CTRL (Control) button
M = ALT button (which used to be the META button)
RET = RETURN/ENTER button
Examples of use:
C-x = Press CTRL and X
C-x C-f = Press CTRL and X, then CTRL and F
M-x org-mode RET = Press ALT and X, then type "org-mode", then press RETURN/ENTER
Here's a list of the most commonly used keybindings.
Note: You do not need to know all keybindings to find Emacs useful
Newcomers to Emacs should know that Emacs has important (and long-standing - at least 40 years) defaults for the keybindings
C-v. Thus, they do not by default
PASTE, as is common outside of Emacs. This can be changed manually in your initialization file or by turning on CUA-mode.
Personally, I simply learned to live with Emacs' defaults - it took about a month of regular use.
A great strength of Emacs is its customizability. Usually the first thing people customize is the initialization file
init.el (sometimes called the "dot" file), which exists in various forms across platforms.
In Linux, this file is usually found in the folder ~/.emacs.d.
In OSX and Windows, this file is usually called
.emacs and may reside in a number of places. The simplest way to locate (or create) the file is to type
C-x C-f ~/.emacs RET.
Emacs has many packages, most of which can be downloaded from melpa or using
Some useful packages include:
Emacs Speaks Statistics (ESS): A package for interacting with various statistical analysis programs such as R, S-Plus, SAS, Stata and OpenBUGS/JAGS
Magit: A porcelain for interacting with the version-control program
git. Magit can also be used to interact with Github or other version control hosts.
Elfeed: A web feed reader (RSS and Atom)
Ivy: A completion/search mode
Intro to org-mode, an excellent note-taking, agenda, etc. mode included in Emacs by default
Series of blog posts by Sacha Chua about Emacs. Good for beginners and even experts might learn a new feature
John Wiegley's highly customized initialization file
Steve Purcell's .emacs setup
Mastering Emacs, an eBook with a number of free tutorials
Emacs Rocks, a collection of videos on using Emacs
No emacs guide is complete without mentioning its inimitable creator Richard Stallman (rms). For more on him and his philosophy on computing and other things, visit his unique website