Difference between revisions of "Main Page"

From WikEmacs
Jump to navigation Jump to search
m (Minor capitalization typo)
(228 intermediate revisions by 53 users not shown)
Line 1: Line 1:
'''Welcome to WikEmacs - A Community Maintained Emacs Wiki'''
+
'''WikEmacs''' is here to stay.  Spread the word!
  
== About ==
+
[[File:Emacs_parts.png|320px|thumb|right|Basic [[Emacs Terminology|terminology]] of typical Emacs GUI Frame]]
 +
__NOTOC__
 +
'''First time visitors''' can start [[#Explore WikEmacs|exploring WikEmacs]]. We have added lots of useful pages since the launch of WikEmacs.
  
Useful resources for working with [http://www.gnu.org/software/emacs/emacs.html GNU Emacs].  See also [http://en.wikipedia.org/wiki/Emacs Emacs (Wikipedia)].
+
-----------
 +
We need more '''[[:Category:WikEmacs Contributor|WikEmacs contributors]]'''You can help the following way.
  
WikEmacs (pronounced wikimacs) is intended as a next generation alternative to the traditional [http://www.emacswiki.org/ EmacsWiki].
+
{{Note| First of all, please take a minute to look at the
 +
[[WikEmacs:Guidelines|WikEmacs guidelines]] before you start editing.}}
  
Consult [//meta.wikimedia.org/wiki/Help:Contents Mediawiki User's Guide] for contributing to this wiki. You can use [https://launchpad.net/mediawiki-el mediawiki.el] to contribute to the wiki
+
* Priority tasks
from the comfort of your Emacs.
+
** Migrate content from [http://www.emacswiki.org EmacsWiki]. Please adopt the following approach - ''I found this on EmacsWiki which was helpful. But it took me a lot of time to find it. Now that I have found it, I will put it in WikEmacs so that others can benefit from it.''
 +
* Intermediate tasks
 +
** Provide tutorials or content for the [[:Category:Popular Package|popular packages]] or [[:Category:Built-in Package|built-in packages]].
 +
** Add more content to [[Special:ShortPages|short pages]].
 +
** Document or add more [[:Category:Third Party Package|third party packages]].
 +
* Other tasks
 +
** Copy edit [[Special:RecentChanges|recent changes]] or be a moral police.
 +
** Add more members to various [[Special:Categories|categories]].
 +
** Categorize one of these pages [[Special:UncategorizedPages|uncategorized pages]].
  
== Getting started with Emacs ==
+
----
 +
'''Emacs News'''
  
The latest stable release is [[:Category:Emacs-23.4|Emacs-23.4]]. The next major release is [[:Category:Emacs-24.1|Emacs-24.1]] and is in ''Pretest'' stage.
+
The latest stable release of Emacs is [[GNU Emacs 25|Emacs-25.1]] released on September 17th, 2016. The precedent is [[GNU Emacs 24|Emacs-24.5]].
  
Emacs is available on all popular [[:Category:Operating System | Operating Systems]] including [[GNULinux]], [[OSX]] and [[Windows]].  See the respective pages for installation instruction and platform specific customization.
+
Emacs is available on all popular [[:Category:Install Or Upgrade| operating systems]] including [[Installing Emacs on BSD |BSD]], [[Installing Emacs on GNU/Linux | GNU/Linux]], [[Installing Emacs on OS X | OS X]] and [[Installing Emacs on Windows| Windows]].  It supports a variety of [[:Category:Programming languages|programming languages]].
 +
<!-- Left hand column -->
 +
<div style="float: left; width: 49%;">
 +
== Explore WikEmacs ==
  
 +
To explore WikEmacs proceed as follows:
 +
* Search for or visit a page of interest
 +
* At the end of the page, there is a list of categories
 +
* Click on individual categories and it will give you a list of all pages that will be of interest to you.
  
* [[Key Bindings]]
+
===  What is your comfort level with Emacs? ===
 +
* [[:Category:Beginner|Beginner]]
 +
* [[:Category:Intermediate|Intermediate]]
 +
* [[:Category:Expert|Expert]]
 +
** Are you a maintainer of a [[:Category:Built-in Package|Built-in Package]]? If you don't find information about your package, please add it. No one else can write about your package as well as you.
 +
** Have you developed any [[:Category:Third Party Package|Third Party Package]]s? Consider writing about what it is and how to use it.
 +
* [[:Category:Vim User|Vim User]]
  
Emacs ships with a bunch of Cheatsheets or Reference Cards for popular packages.  These are located in the ''refcards'' subdirectory of {{Variable|data-directory}}. Template:Function. Template:Command.
+
=== What do you want to accomplish now? ===
 +
* [[:Category:Install Or Upgrade|Install Or Upgrade]]
 +
* [[:Category:Customization|Customize Emacs]]
 +
* [[Key Bindings|Tweak Key Bindings]]
 +
* [[:Category:Tutorial|Learn more Emacs (Tutorials)]]
 +
* [[:Category:Emacs Lisp|Learn Emacs Lisp]]
  
 +
=== What do you use Emacs for? ===
 +
* [[:Category:Text Editing|Text Editing]]
 +
* [[:Category:Programming|Programming]]
 +
* [[:Category:Document authoring|Document authoring]]
 +
* [[:Category:Organizer|Getting Organized]]
 +
* [[:Category:Email|Emailing]]
 +
* [[:Category:Chat|Chatting]]
 +
* [[:Category:Blog|Blogging]]
 +
* [[:Category:Browse|Browsing]]
 +
* [[:Category:Entertainment|Entertainment]]
 +
* [[:Category:Workflow|Other]]
  
* [[Look and Feel]]
+
=== How do you involve yourself with the community? ===
* [[Emacs for Vim users]]
+
* [[:Category:Emacs User|Emacs User]]
* [[Starter Kits]]
+
* [[:Category:Emacs Contributor|Emacs Contributor]]
* [[Learning Resources]] and getting help
+
* [[:Category:WikEmacs Contributor|WikEmacs Contributor]]
* [[Package Managers]]
+
* [[:Category:User Role|Other]]
* [[Emacs Terminology]]
 
** Buffer (contrasted with file)
 
** Windows and frames (compared with panes and windows respectively)
 
** Point and mark (compared with insertion point/cursor and ...?)
 
** Kill and Yank (contrasted with cut and paste) and the kill ring
 
** Region (compared and contrasted with selection)
 
** Fill (compared with line wrap)
 
** 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 ==
+
</div>
 +
<!-- Right hand column -->
 +
<div style="float: right; width: 49%;">
  
* [[ Search and replace ]]
+
==Help build WikEmacs==
** [[ Incremental Search ]]
 
** [[ Regexp Search ]]
 
* [[ Undo and redo ]]
 
* [[ Abbreviations ]] and [[ Templates ]]
 
* [[ Auto-completion ]]
 
* [[ Spell check ]]
 
* [[ International Users ]]
 
* [[ Remote Editing ]] via FTP, ssh, etc.
 
* [[ Emacs server ]] and [[ emacsclient ]]
 
* [[ Registers ]]
 
* [[ Bookmarks ]]
 
* [[ Rectangles ]]
 
  
== Automation in Emacs ==
+
The following are suggestions for articles to write, along with the page of the GNU Emacs manual which documents this feature.  ('''Note:''' it's possible that an article for a given topic exists already under a different name.  In that case, please ensure that the article includes the link to the manual page, and then remove the topic from this list.)
  
* [[ Keyboard macros ]]
+
<!-- Not finished.  I grabbed ideas from large section titles of the manual, but there are many more in the "Detailed Node Listing", longer version of the table of contents. -->
* [[ Emacs Lisp ]]
 
  
== Configuring Emacs ==
+
* [[Command-line startup options]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Entering-Emacs.html] and [https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Invocation.html])
 +
* [[Built-in help]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Help.html])
 +
* [[Registers]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Registers.html])
 +
* [[:Category:Search|Search for text in a buffer]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Search.html])
 +
* [[Fixing typos]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Fixit.html])
 +
* [[Keyboard macros]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macros.html])
 +
* [[Windows within a frame]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Windows.html])
 +
* [[Frames]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Frames.html])
 +
* [[International character sets]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/International.html])
 +
* [[Indentation]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Indentation.html])
 +
* [[Editing source code]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Programs.html])
 +
* [[Building software]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Building.html])
 +
* [[Maintaining source code repositories]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Maintaining.html])
 +
* [[Abbrevs]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Abbrevs.html])
 +
* [[Dired]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html])
 +
* [[Calendars and diaries]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Calendar_002fDiary.html])
 +
* [[Sending mail]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Sending-Mail.html])
 +
* [[Rmail]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail.html])
 +
* [[Gnus]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Gnus.html])
 +
* [[Document viewer]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Document-View.html])
 +
* [[Shell commands withing Emacs]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Shell.html])
 +
* [[Emacs server]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html])
 +
* [[Printing]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Printing.html])
 +
* [[Sorting]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Sorting.html])
 +
* [[Picture mode]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Picture-Mode.html])
 +
* [[Editing binary files]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Editing-Binary-Files.html])
 +
* [[Saving Emacs sessions]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Emacs-Sessions.html])
 +
* [[Recursive editing]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Recursive-Edit.html])
 +
* [[Emulating other text editors]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Emulation.html])
 +
* [[Hyperlinking within Emacs]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Hyperlinking.html])
 +
* [[Games and fun]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Amusements.html])
 +
* [[Installing additional packages]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Packages.html])
 +
* [[Customising Emacs]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Customization.html])
 +
** [[Customize]] (simple interface) ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Easy-Customization.html])
 +
* [[Cancelling commands]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Quitting.html])
 +
* [[If Emacs is malfunctioning]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Lossage.html])
 +
* [[Reporting bugs]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Bugs.html])
 +
* [[Contributing to GNU Emacs]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Contributing.html])
 +
* [[Getting help from others]] ([https://www.gnu.org/software/emacs/manual/html_node/emacs/Service.html])
  
* [[ Custom ]] for choosing and setting options.
 
* Scripting your [[ init.el ]] file (formerly .emacs) using [[ Emacs Lisp ]].
 
  
== Convenience ==
+
[[Category:WikEmacs]]
 
 
* Completion and selection
 
** [[Ido]]: '''I'''nteractively '''do''' things
 
** [[Helm]]: incremental completion and selection (formerly [[Anything]])
 
** [[Icicles]]
 
 
 
== Emacs and Desktop Integration ==
 
* [[ Dired ]]
 
** [[ Archive mode ]]
 
* [[ Battery ]]
 
* [[ Notifications ]]
 
 
 
== Typesetting, Document Markup and Document Creation in Emacs ==
 
 
 
* [[ Markdown ]]
 
* [[ Org]] export to HTML, PDF etc
 
* [[ SGML ]], [[ HTML ]] and [[ XML ]]
 
* [[TeX]], [[LaTeX]], [[TeXinfo]], [[BibTeX]] etc.
 
 
 
== Emacs as an IDE ==
 
 
 
Integrated Development Environment (IDE) for Emacs is called [http://cedet.sourceforge.net/ CEDET]. See [http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html Gentle Introduction to CEDET].
 
 
 
For Literate Programming see [http://orgmode.org/worg/org-contrib/babel/ 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 ===
 
 
 
* [[CSS]]
 
* [[HTML]]
 
* [[JSON]]
 
* [[Markdown]]
 
* [[SGML]]
 
* [[XML]]
 
 
 
=== Compiling ===
 
 
 
* [[ flymake ]]
 
 
 
=== Debugging ===
 
 
 
=== REPLs ===
 
 
 
Interactive command-line environments for Lisp. ('''R'''ead-'''E'''val-'''P'''rint-'''L'''oop)
 
 
 
* [[ 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 ]] ===
 
 
 
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 ==
 
* [[ Org ]] Mode
 
* [[ calc ]]
 
* [[ calendar ]]
 
* [[ notification ]]
 
* [[ diary ]]
 
* Contacts: [[ bbdb ]]
 
 
 
== Communication ==
 
 
 
* [[ Blogging ]]
 
* [[ Chat ]]
 
* [[ Email ]]
 
* [[ Feed reading ]]
 
* [[ Microblogging ]]
 
* [[ Usenet news ]]
 
 
 
== 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:
 
* [[ ansi-term ]]
 
* [[ shell ]]
 
* [[ term ]]
 
* [[ multi-term ]]
 
 
 
[[ 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 ==
 
 
 
* [http://emacspeak.sourceforge.net/ Emacspeak] for the visually challenged.
 
 
 
== Security and cryptography ==
 
 
 
* [[ Gnu Privacy Guard ]] (GPG) support and integration
 
 
 
== Getting Involved ==
 
* IRC Channel
 
 
 
* [[ Mailing list archives ]]
 
 
 
* [http://bzr.savannah.gnu.org/lh/emacs/trunk/files Browsable source repository]
 
 
 
== Contributing to Emacs ==
 
* Reporting bugs
 
* Testers
 
** Profiling
 
** Memory Usage
 
** Reporting Bugs
 
 
 
* Developers
 
** Coding Guidelines
 
** Copyright Assignment
 
*** [http://www.gnu.org/software/emacs/CONTRIBUTE Contributing to Emacs]
 
*** [http://www.gnu.org/licenses/why-assign.html Copyright assignment]
 
** [[Unit Testing]]
 
* Core Developers
 
** Project Leaders
 
*** Stefan Monnier
 
*** Chong Yidong
 
** Others
 
 
 
== Niche Uses ==
 
 
 
* [[ Media player ]]
 
* [[ Presentations ]]
 
* [[ Screencasts ]]
 
* [[ Statistics ]]
 
* [[ Binary files]]
 
* [[ Docview ]]
 
* [[ Pictures ]]
 
** [[ Inline Images ]]
 
** [[ Artist mode ]]
 
 
 
== Games and Entertainment ==
 
* Tetris
 
* Doctor
 
 
 
* Humor
 
 
 
== History ==
 
 
 
* [http://www.gnu.org/gnu/rms-lisp.html My Lisp Experiences and the Development of GNU Emacs]
 
 
 
* 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 <tt>vi</tt>
 

Revision as of 21:15, 8 February 2017

WikEmacs is here to stay. Spread the word!

Basic terminology of typical Emacs GUI Frame

First time visitors can start exploring WikEmacs. We have added lots of useful pages since the launch of WikEmacs.


We need more WikEmacs contributors. You can help the following way.

Note: First of all, please take a minute to look at the WikEmacs guidelines before you start editing.

Emacs News

The latest stable release of Emacs is Emacs-25.1 released on September 17th, 2016. The precedent is Emacs-24.5.

Emacs is available on all popular operating systems including BSD, GNU/Linux, OS X and Windows. It supports a variety of programming languages.

Explore WikEmacs

To explore WikEmacs proceed as follows:

  • Search for or visit a page of interest
  • At the end of the page, there is a list of categories
  • Click on individual categories and it will give you a list of all pages that will be of interest to you.

What is your comfort level with Emacs?

What do you want to accomplish now?

What do you use Emacs for?

How do you involve yourself with the community?

Help build WikEmacs

The following are suggestions for articles to write, along with the page of the GNU Emacs manual which documents this feature. (Note: it's possible that an article for a given topic exists already under a different name. In that case, please ensure that the article includes the link to the manual page, and then remove the topic from this list.)