Update
[emacsbook.git] / book.org
blob6f33da299f07934558587b4f6b608e22326d6c2c
2 * Goals and non-Goals
4 This book will teach you
6 1. To use Emacs.
7 2. To customize Emacs to your specific needs.
8 3. Place Emacs in a modern context.
10 This book will *not* 
12 1. Teach you to program in Emacs lisp
13 2. Document third-party libraries which don't ship with Emacs or GNU
14    ELPA.
16 * Audience
18 If you are new to Emacs then this book is for you.  You don't have to
19 be a programmer to benefit from this book.
21 * Prerequisites
23 You need to be a touch typist to use Emacs efficiently.
25 * Installing Emacs
27 The latest stable release of Emacs as on the day of writing is Emacs
28 24.3.
30 You can download the pre-build binaries from [[http://ftp.gnu.org/gnu/emacs/][GNU FTP Archives]].  If you
31 are on Windows, you can download the binaries from [[http://ftp.gnu.org/gnu/emacs/windows/][Windows
32 subdirectory]].
34 * Self help
36 * Basic customization
38 * Text editing
40 # centering text M-o M-s
41 # tabs and spaces
42 # margins and justification
43 # line spacing
44 # filling a paragraph
45 # indentation
47 # how to insert a tab
48 # tab stops
50 # marking
51 # deleting
53 # change case
54 # capitalization
56 # ascii diagrams
58 # org struct mode
60 # view mode
61 # reverting
63 # counting lines, words etc
65 You can goto specific line with 
67 |----------------------+---------|
68 | Action               | Keys    |
69 | <20>                 |         |
70 |----------------------+---------|
71 | Goto a line          | M-g M-g |
72 |----------------------+---------|
75 You can move around your buffer very quickly using the following key
76 bindings.
78 |----------------------+------|
79 | Action               | Keys |
80 | <20>                 |      |
81 |----------------------+------|
82 | Line beginning       | C-a  |
83 | Line end             | C-e  |
84 |----------------------+------|
85 | Next line            | C-n  |
86 | Prev line            | C-p  |
87 |----------------------+------|
88 | Scroll forward       | C-v  |
89 | Scroll back          | M-v  |
90 |----------------------+------|
92 You can move around your buffer very quickly using the following key
93 bindings.
95 |----------------------+-------|
96 | Action               | Keys  |
97 | <20>                 |       |
98 |----------------------+-------|
99 | Next word            | M-f   |
100 | Previous word        | M-b   |
101 |----------------------+-------|
102 | Sentence beginning   | M-a   |
103 | Sentence end         | M-e   |
104 |----------------------+-------|
105 | Next paragraph       | M-}   |
106 | Prev paragraph       | M-{   |
107 |----------------------+-------|
108 | Next page            | C-x ] |
109 | Prev page            | C-x [ |
110 |----------------------+-------|
111 | Buffer beginning     | M-<   |
112 | Buffer end           | M->   |
113 |----------------------+-------|
114                                    
115 ** Statistics
117 |----------------------+------|
118 | Action               | Keys |
119 | <20>                 |      |
120 |----------------------+------|
121 | Counting words       | M-=  |
122 |----------------------+------|
124 ** Spellchecking
126 ** Dictionary and Thesaurus
128 * Install additional packages
130 * Games
132 * Reporting bugs
134 You can submit a bug report with
136 #+BEGIN_EXAMPLE
137   M-x report-emacs-bug RET
138 #+END_EXAMPLE
140 * Emacs Community
142 The Emacs project has many [[https://savannah.gnu.org/mail/?group%3Demacs][mailing lists]].  
144 You can browse the archives online
146 1. [[http://lists.gnu.org/archive/html/info-gnu-emacs][Emacs news archive]]
147 2. [[http://lists.gnu.org/archive/html/help-gnu-emacs][Emacs users archive]]
148 3. [[http://lists.gnu.org/archive/html/emacs-devel][Emacs developers archive]]
149 4. [[http://lists.gnu.org/archive/html/bug-gnu-emacs][Emacs bugs archive]]
150 5. [[http://lists.gnu.org/archive/html/gnu-emacs-sources][Emacs sources archive]]
152 You may wish to subscribe to one or more of these mailing lists.
154 1. [[http://lists.gnu.org/mailman/listinfo/info-gnu-emacs][Emacs news]]
155 2. [[http://lists.gnu.org/mailman/listinfo/help-gnu-emacs][Emacs users]]
156 3. [[http://lists.gnu.org/mailman/listinfo/emacs-devel][Emacs developers]]
157 4. [[http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs][Emacs bugs]]
158 5. [[http://lists.gnu.org/mailman/listinfo/gnu-emacs-sources][Emacs sources]]
162 See [[http://www.gnu.org/software/emacs/][Emacs project page]] for more information.
164 [[http://www.emacswiki.org/][Emacswiki]]
166 IRC: #emacs @ irc.freenode.net 
168 * Contributing to Emacs
170 Emacs sources are maintained using Bazaar version control system.  You
171 can obtain the version controlled source tree with
173 #+BEGIN_EXAMPLE
174   bzr branch bzr://bzr.savannah.gnu.org/emacs/trunk
175 #+END_EXAMPLE
177 You can also browse the source repository for one-off purposes using
178 the following URLs: [[http://bzr.savannah.gnu.org/lh/emacs/trunk/files][Bzr Loggerhead]] or [[http://git.savannah.gnu.org/cgit/emacs.git/log/][Cgit web interface]].
180 If you are a Git user, you can checkout the source tree using git as
181 follows
183 #+BEGIN_EXAMPLE
184   git clone git://git.savannah.gnu.org/emacs.git
185 #+END_EXAMPLE
187 See [[http://savannah.gnu.org/maintenance/UsingGit][for more information on using git]].
189 * Building Emacs from sources
191 If you are a developer or a user who is interested in testing out
192 Emacs trunk see [[http://www.emacswiki.org/emacs/BzrForEmacsDevs][instructions at Emacswiki]].
194 #+BEGIN_EXAMPLE
195   apt-get install build-essential
196   apt-get build-dep emacs
197 #+END_EXAMPLE