Istnieją dwie wersje Emacsa wywodzące się z pierwotnego kodu, znane jako GNU Emacs i XEmacs, oraz ogromna liczba edytorów i innych narzędzi wzorowanych na Emacsie.

Dzięki dodatkowym narzędziom etags i ctags istnieje możliwość szybkiego „poruszania” się po dużych projektach programistycznych.

Tryby uruchomieniowe GNU Emacs może być uruchamiany w dwóch trybach – tekstowym i graficznym. Uruchamiając Emacsa w Terminalu bez środowiska X, uruchomi się tryb tekstowy. Natomiast wewnątrz X Window uruchomi się tryb graficzny. Istnieje także możliwość uruchomienia Emacsa w trybie tekstowym w emulatorze terminala w Interfejsie graficznym. Istnieje także możliwość uruchomienia Emacsa jako serwera, w którym wszystkie klienty współdzielą te same bufory.

Sekwencje i skróty klawiszowe W Emacsie każde pojedyncze wciśnięcie klawisza lub sekwencji klawiszy wywołuje funkcję napisaną w języku Emacs Lisp. W większości trybów pojedyncze wciśnięcie klawisza powoduje wywołanie funkcji self-insert-command, która wstawia pojedynczy znak do bufora. Oprócz podstawowych skrótów klawiszowych istnieją także sekwencję rozpoczynające się od C-x () lub C-c ().