Emacs

Emacs is a text editor which you can customize and extend in so many ways. It was written in C and provides its own implementation of Lisp, the language from which the Gods wrought the universe.

There's a reason why Emacs was featured in Tron Legacy, it is sexy! (and awesome).

Emacs

You can use Emacs for all of your text processing needs, internet and social network interactions, hacking, coding, managing to-do's and organizing your daily schedule, play Tetris and it can even provide you with free psychotherapy and counseling using M-x doctor.

GNU Emacs is Free Software, free as in free beer and free as in free speech. The original Emacs was written by St. iGNUcius himself — Richard Stallman.

Not only does it give the user the four essential freedoms, its architecture is built in such a way that you have the power to mold it, change it and make it comply to your computering needs.

Why using Emacs?

It's a very powerful text processor, allowing you to manipulate blocks of text, paragraphs, words, finding, replacing, using regular expressions, keyboard macros and more.

Colorful text editor

Emacs can be adapted in every possible way, including its looks. You can strip it, choose between several themes with M-x load-theme, download one from another happy Emacs user or create your own. Here's a nice gallery of themes.

Et tu, Programmer?

There are tools for probably every programming language out there. Lisp, Ruby, Python, PHP, Java, Erlang, JavaScript, C, C++, Prolog, Tcl, AWK, PostScript, Clojure, Scala, Perl, Haskell, Elixir all of these languages and more are supported in Emacs.

You get syntax highlighting, automatic indentation, running code inside the editor, debugging, code browsing, version control systems integration and much more.

More!

Org mode helps you keeping notes, maintaining TODO lists, planing projects and authoring documents. You can even create HTML websites like this one or export to your documents as LaTeX, Beamer, OpenDocuments and many more formats.

Tramp allows you to edit remote files without leaving Emacs. You can edit files via SSH and edit local files with su/sudo, among other things.

ERC is a built-in IRC client and BitlBee can be used as a gateway for several IM services.

You can also use mail client, web browser, calendar, games, even edit video and images inside Emacs. There are more than 2,000 packages for Emacs. You can install more packages with M-x list-packages from GNU ELPA, MELPA and Marmelade.

Installing Emacs

You can install Emacs on almost every operating system out there. The officially supported systems are GNU, GNU/Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, MS Windows and Solaris.

GNU/Linux

GNU Emacs is available on most GNU/Linux distributions. It's available out of the box on some of them. If it's not, you can use your system's package manager (apt, yum, pacman, etc.) or download Emacs from the GNU site.

Windows

You can download Emacs for Windows from the GNU servers.

More info on Emacs for Windows on the GNU website.

Mac OS X

Emacs is included in Mac OS X, so you can just use Terminal.app, type emacs and you're ready to roll. It's a very old version though, and it's recommended that you use the latest stable version which is Emacs 24.

There are various ways to install the latest Emacs on Mac OS X:

Learn Emacs

"Mastering Emacs is not the goal, it's the path." A happy Emacs user

It's not called the self-documenting real-time display editor for nothing. Emacs includes a great tutorial to teach you how to use Emacs while you're using Emacs. Mind blown? This is just the beginning.

Once you've installed Emacs, start it up. You will be greeted with a welcome screen. From there you can click on the Emacs Tutorial link with your mouse.

Instead of using your mouse, you can press Alt + X on your keyboard, which will take you to the command mode on the lower screen of Emacs. Then write help-with-tutorial and press Enter. You just entered the first of many Emacs commands. You know the warm fuzzies you just got? Get used to it, because there's more where that came from.

This interactive tutorial will teach you the basics on how to move around and edit text. It's just the tip of the iceberg, and your quest has just begun.

A great resource for starters is this visual guide to learning Emacs by Sacha Chua under a CC by license: How to Learn Emacs: A Hand-drawn One-pager for Beginners: How to Learn Emacs

You can also check out these other visual guides:

Resources

Emacs is used by very happy hackers all around the globe. Lots of them are willing to help you get started or share the path they've walked along Emacs with you. It's dangerous to go alone; take this:

  • The Emacs Manual — Official GNU Emacs manual. See more manuals here.
  • Emacs Wiki — a collection of useful information regarding Emacs and Emacs Lisp, its extension language.
  • Planet Emacsen — An Emacs planet collecting posts from many Emacs blogs.
  • Mastering Emacs — A blog about mastering the world's best text editor.
  • Emacs Rocks — a series of videos teaching about Emacs. Includes a series on extending it.
  • What the .emacs.d!? — Blog from the same author as Emacs Rocks, about setting up your .emacs.d.
  • Emacs Movies — Tutorial screencasts for Emacs.
  • /r/emacs — Reddit is a virtual community of (generally) very nice people. You can create an account there and share your questions, progress and snippets about Emacs on the Emacs subreddit.

be free.