Main Page
Welcome to WikEmacs - A Community Maintained Emacs Wiki
WikEmacs (pronounced wikimacs) collects useful resources for working with GNU Emacs. It 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 GNU/Linux, OSX and Windows. It supports variety of Programming languages.
Explore this Wiki based on your needs. Here are some starting points:
- What is your comfort level with Emacs?
- Beginner
- Intermediate
- Expert
- Other
- What do you want to accomplish now?
- Install Or Upgrade
- Customize Emacs
- Tweak Key Bindings
- What do you use Emacs for?
- Text Editing
- Programming
- Document authoring
- Getting Organized
- Emailing
- Chatting
- Blogging
- Browsing
- Other
- How do you involve yourself with the community?
- Category:Emacs User
- Category:Emacs Contributor
- Other
- Learning Resources and getting help
- Emacs for Vim users
- 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
Typesetting, Document Markup and Document Creation in Emacs
Emacs supports a wide range of Markup languages to help you in your workflow of document creation.
Emacs for Development
You can use Emacs to program in variety of Programming languages. If you don't see an entry for your favorite language, please create an page for it and few words about it.
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
- 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.
See also Workflow:Browsing
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