Main Page
Welcome to WikEmacs - A Community Maintained Emacs Wiki
About
Useful resources for working with GNU Emacs, the extensible, self-documenting text editor. See also Emacs (Wikipedia).
Emacs is free software (Wikipedia).
WikEmacs (pronounced wikimacs) is intended as a next generation alternative to the traditional EmacsWiki.
See WikEmacs:Guidelines for information on editing this wiki.
Getting started with Emacs
The latest stable release is Emacs-23.4. The next major release is Emacs-24.1 and is in Pretest stage.
Emacs is available on all popular Operating Systems including GNULinux, OSX and Windows. It supports variety of Programming languages.
Explore this Wiki based on your needs. Here are some starting points.
- Pages organized by your role in Emacs community
- Whether you are a Emacs User, a Emacs Contributor or a Programmer, there are few things just for you.
- Pages organized by your current workflow
- Whether you want to write mails, browse the web, blog, read news feeds, author documents or for that matter get organized, there are few things just for you.
- Pages organized by your comfort level with Emacs
- Whether you are a beginner, intermediate user or an expert user, there are few things just for you.
- Starter Kits
- Learning Resources and getting help
- Package Managers
- Key Bindings
- Look and Feel
- Emacs for Vim users
- Emacs Terminology
- Buffer
- Window
- Frame
- Point and mark
- Killing and yanking
- Region
- Fill
- Case-fold (compared with case sensitivity)
- Narrow and widen (compared with collapse and expand)
- Quitting Emacs: type `C-x C-c` (that's Control-X, Control-C)
Text editing in Emacs
- Search and replace
- Undo and redo
- Spell check
- International Users
- Remote Editing via FTP, ssh, etc.
- Emacs server and emacsclient
- Registers
- Bookmarks
- Rectangles
Automation in Emacs
Configuring Emacs
- Custom for choosing and setting options.
- Scripting your init.el file (formerly .emacs) using Emacs Lisp .
Convenience
- Completion and selection
Emacs and Desktop Integration
Typesetting, Document Markup and Document Creation in Emacs
Emacs for Development
Programming and Scripting Languages
- Ada
- antlr
- Arc
- asm
- awk
- C
- C++
- Clojure
- Common Lisp
- Emacs Lisp
- Fortran
- Groovy
- Haskell
- Icon
- IDL
- Java
- JavaScript
- make
- Modula2
- OCaml
- Octave
- Pascal and Delphi
- Perl
- PHP
- PostScript
- Prolog
- Python
- Ruby
- Scala
- Scheme
- shell script
- Simula
- SQL
- tcl
- Visual Basic
Markup Languages
Compiling
Debugging
REPLs
Interactive command-line environments for Lisp. (Read-Eval-Print-Loop)
- Inferior Emacs Lisp Mode (IELM), for interacting with Emacs' own internal Lisp
- mozrepl, for interacting with an external web browser's internal JavaScript engine
- SLIME, for interacting with an external Common Lisp or Clojure instance
Emacs as an IDE
Integrated Development Environment (IDE) for Emacs is called CEDET. See Gentle Introduction to CEDET.
For Literate Programming see Org Babel.
Version Control
Emacs supports many Version Control systems out of the box and provides bindings and other shortcuts for a better workflow between Emacs and these systems.
Within Emacs, ediff provides sophisticated diff and merge functions. Both vc and dvc integrate well with ediff.
Productivity
Communication
Web browsing and web development
- w3: a pure-Emacs-Lisp text-mode web browser.
- w3m-el: The text-mode w3m web browser hosted and enhanced within Emacs, with rudimentary inline image support but no JavaScript.
- Launching and interacting with an external browser from emacs
- Using emacs as a browser's external editor, either when entering text on web pages or when viewing a web page's source document or both.
Shells and terminal emulation
Within Emacs you can interact with various shells and other command-line/text-mode programs running as a sub-process within an Emacs terminal emulator:
eshell is a shell (not a terminal emulator, nor a process hosted in one) written in pure Emacs Lisp . It is very powerful, flexible and customizable, but poorly documented at time of writing.
Emacs itself is fully functional either in a terminal or a windowing system. Some keystrokes available under window systems may not work in a terminal and vice versa.
Accessibility
- Emacspeak for the visually challenged.
Security and cryptography
- Gnu Privacy Guard (GPG) support and integration
Getting Involved
- IRC Channel
Niche Uses
Games and Entertainment
- Tetris
- Doctor
- Humor
History
- XEmacs and GNU Emacs
Popular Culture and Community
- Adding Emacs-style key bindings to other programs and operating systems.
- St Ignucius and the Church of Emacs
- Saving the world from vi