Main Page
Welcome to WikEmacs - A Community Maintained Emacs Wiki
Consult Mediawiki User's Guide for contributing to this wiki. Apparently there is a Mediawiki.el client. Does anyone have any experience with it?
About
Useful resources for working with Gnu Emacs. See also Emacs (Wikipedia).
This wiki is intended as a next generation replacement for Emacswiki
Getting started with Emacs
- Installing Emacs
- Look and Feel
- Emacs for Vim users
- Starter Kits
- Learning Resources and getting help
- Package Managers
- Emacs Terminology
- Buffer
- Windows and frames
- Point and mark
- Kill and Yank
- Region
- Fill
- Case-fold
- Narrow and widen
- Quitting Emacs: type `C-x C-c` (that's Control-X, Control-C)
Text editing in Emacs
- Search and replace
- Undo and redo
- Abbreviations and Templates
- Auto-completion
- Spell check
- International Users
- Remote Editing via FTP, ssh, etc.
- Emacs server and emacsclient
Automation in Emacs
Configuring Emacs
- Custom for choosing and setting options.
- Scripting your init.el file (formerly .emacs) using Emacs Lisp .
Emacs and Desktop Integration
Typesetting, Document Markup and Document Creation in Emacs
Emacs as an IDE
Integrated Development Environment (IDE) for Emacs is called CEDET. See Gentle Introduction to CEDET.
For Literate Programming see Org Babel.
Programming and Scripting Languages
- Ada
- antlr
- 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
- 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
Version Control
- dvc provides a standard interface between Emacs and distributed version control systems
- vc provides a standard interface between Emacs and conventional version control systems
- bzr can be managed using dvc
- Clearcase
- CVS can be managed using vc
- git can be managed using dvc or magit
- Mercurial can be managed using dvc
- SVN can be managed using vc
- RCS can be managed using vc
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
Contributing to Emacs
- Reporting bugs
- Testers
- Profiling
- Memory Usage
- Reporting Bugs
- Developers
- Coding Guidelines
- Copyright Assignment
- Core Developers
- Project Leaders
- Stefan Monnier
- Chong Yidong
- Others
- Project Leaders
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