comparison man/eshell.texi @ 60425:bc3006550677

(Installation): Delete node (for Emacs 20).
author Richard M. Stallman <rms@gnu.org>
date Sun, 06 Mar 2005 17:14:48 +0000
parents b1ae5333057a
children 3723093a21fd c7d2b6ee3a80 29e773288013
comparison
equal deleted inserted replaced
60424:6aa27b8c405e 60425:bc3006550677
78 @c This manual is updated to release 2.4 of Eshell. 78 @c This manual is updated to release 2.4 of Eshell.
79 @end ifnottex 79 @end ifnottex
80 80
81 @menu 81 @menu
82 * What is Eshell?:: A brief introduction to the Emacs Shell. 82 * What is Eshell?:: A brief introduction to the Emacs Shell.
83 * Installation:: For users of Emacs 20 and XEmacs.
84 * Command basics:: The basics of command usage. 83 * Command basics:: The basics of command usage.
85 * Commands:: 84 * Commands::
86 * Arguments:: 85 * Arguments::
87 * Input/Output:: 86 * Input/Output::
88 * Process control:: 87 * Process control::
144 Any tool you use often deserves the time spent learning to master it. 143 Any tool you use often deserves the time spent learning to master it.
145 @footnote{For the understandably curious, here is what that command 144 @footnote{For the understandably curious, here is what that command
146 looks like: But don't let it fool you; once you know what's going on, 145 looks like: But don't let it fool you; once you know what's going on,
147 it's easier than it looks: @code{ls -lt **/*.doc(Lk+50aM+5)}.} 146 it's easier than it looks: @code{ls -lt **/*.doc(Lk+50aM+5)}.}
148 147
149 As of Emacs 21, Eshell is part of the standard Emacs distribution.
150
151 @menu 148 @menu
152 * Contributors to Eshell:: People who have helped out! 149 * Contributors to Eshell:: People who have helped out!
153 @end menu 150 @end menu
154 151
155 @node Contributors to Eshell 152 @node Contributors to Eshell
189 @end itemize 186 @end itemize
190 187
191 Apart from these, a lot of people have sent suggestions, ideas, 188 Apart from these, a lot of people have sent suggestions, ideas,
192 requests, bug reports and encouragement. Thanks a lot! Without you 189 requests, bug reports and encouragement. Thanks a lot! Without you
193 there would be no new releases of Eshell. 190 there would be no new releases of Eshell.
194
195 @node Installation
196 @chapter Installation
197 @cindex installation
198
199 As mentioned above, Eshell comes preinstalled as of Emacs 21. If you're
200 using Emacs 20.4 or later, or XEmacs 21, you can download the most
201 recent version of Eshell from
202 @url{http://www.gci-net.com/users/j/johnw/Emacs/packages/eshell.tar.gz}.
203
204 However, if you are using Emacs 21, you may skip this section.
205
206 @section Short Form
207
208 Here's exactly what to do, with no explanation why:
209
210 @enumerate
211 @item
212 @samp{M-x load-file RET eshell-auto.el RET}.
213
214 @item
215 @samp{ESC : (add-to-list 'load-path "<path where Eshell resides>") RET}.
216
217 @item
218 @samp{ESC : (add-to-list 'load-path "<path where Pcomplete resides>") RET}.
219
220 @item
221 @samp{M-x eshell RET}.
222
223 You should see a version banner displayed.
224
225 @item
226 @samp{ls RET}.
227
228 Confirm that you see a file listing.
229
230 @item
231 @samp{eshell-test RET}.
232
233 Confirm that everything runs correctly. Use @kbd{M-x eshell-report-bug} if
234 not.
235
236 @item
237 @samp{cd $@{dirname (locate-library "eshell-auto")@} RET}.
238
239 @item
240 @samp{find-file Makefile RET}.
241
242 @item
243 Edit the Makefile to reflect your site.
244
245 @item
246 @samp{M-x eshell RET}.
247
248 @item
249 @samp{make install RET}.
250
251 @item
252 @samp{find-file $user-init-file RET}.
253
254 @item
255 Add the following lines to your @file{.emacs} file:
256
257 @example
258 (add-to-list 'load-path "<directory where you install Eshell>")
259 (load "eshell-auto")
260 @end example
261
262 @item
263 @samp{M-x eshell RET}.
264
265 @item
266 @samp{customize-option #'eshell-modules-list RET}.
267
268 @item
269 Select the extension modules you prefer.
270
271 @item
272 Restart Emacs!
273
274 @item
275 @samp{M-x info RET m Eshell RET}.
276
277 Read the manual and enjoy!
278 @end enumerate
279
280 @section Long Form
281
282 @enumerate
283 @item
284 Before building and installing Eshell, it is important to test that it
285 will work properly on your system. To do this, first load the file
286 @file{eshell-auto}, which will define certain autoloads required to run
287 Eshell. This can be done using the command @kbd{M-x load-file}, and
288 then selecting the file @file{eshell-auto.el}.
289
290 @item
291 In order for Emacs to find Eshell's files, the Eshell directory must be
292 added to the @code{load-path} variable. This can be done within Emacs by
293 typing:
294
295 @example
296 ESC : (add-to-list 'load-path "<path where Eshell resides>") RET
297 ESC : (add-to-list 'load-path "<path where Pcomplete resides>") RET
298 @end example
299
300 @item
301 Start Eshell from the distributed sources, using default settings, by
302 typing @kbd{M-x eshell}.
303
304 @item
305 Verify that Eshell is functional by typing @command{ls} followed by
306 @key{RET}. You should have already seen a version banner announcing the
307 version number of this release, followed by a prompt.
308
309 @item
310 Run the test suite by typing @command{eshell-test} followed by @key{RET}
311 in the Eshell buffer. It is important that Emacs be left alone while
312 the tests are running, since extraneous command input may cause some of
313 the tests to fail (they were never intended to run in the background).
314 If all of the tests pass, Eshell should work just fine on your system.
315 If any of the tests fail, please send e-mail to the Eshell maintainer
316 using the command @kbd{M-x eshell-report-bug}.
317
318 @item
319 Edit the file @file{Makefile} in the directory containing the Eshell
320 sources to reflect the location of certain Emacs directories at your
321 site. The only things you really have to change are the definitions of
322 @code{lispdir} and @code{infodir}. The elisp files will be copied to
323 @code{lispdir}, and the info file to @code{infodir}.
324
325 @item
326 Type @kbd{make install} in the directory containing the Eshell sources.
327 This will byte-compile all of the @file{*.el} files and copy both the
328 source and compiled versions to the directories specified in the
329 previous step. It will also copy the info file, and add a corresponding
330 entry to your @file{dir} file----if the program @code{install-info} can
331 be found on your system.
332
333 If you only want to create the compiled elisp files, but don't want to
334 install them, you can type just @kbd{make} instead.
335
336 @item
337 Add the directory into which Eshell was installed to your
338 @code{load-path} variable. This can be done by adding the following
339 line to your @file{.emacs} file:
340
341 @example
342 (add-to-list 'load-path "/usr/local/share/emacs/site-lisp/eshell")
343 @end example
344
345 The actual directory on your system may differ.
346
347 @item
348 To install Eshell privately, edit your @file{.emacs} file; to install
349 Eshell site-wide, edit the file @file{site-start.el} in your
350 @file{site-lisp} directory (usually
351 @file{/usr/local/share/emacs/site-lisp} or something similar). In
352 either case enter the following line into the appropriate file:
353
354 @example
355 (load "eshell-auto")
356 @end example
357
358 @item
359 Restart Emacs. After restarting, customize the variable
360 @code{eshell-modules-list}. This variable selects which Eshell
361 extension modules you want to use. You will find documentation on each
362 of those modules in the Info manual.
363 @end enumerate
364
365 @cindex documentation, printed version
366 @cindex printed version of documentation
367 If you have @TeX{} installed at your site, you can make a typeset manual
368 from @file{eshell.texi}.
369
370 @enumerate
371 @item
372 Run @TeX{} by typing @kbd{texi2dvi eshell.texi}. (With Emacs 21.1 or
373 later, typing @kbd{make eshell.dvi} in the @file{man/} subdirectory of
374 the Emacs source distribution will do that.)
375
376 @item
377 Convert the resulting device independent file @file{eshell.dvi} to a
378 form which your printer can output and print it. If you have a
379 postscript printer, there is a program, @code{dvi2ps}, which does that; there
380 is also a program which comes together with @TeX{}, @code{dvips}, which
381 you can use. For other printers, use a suitable DVI driver,
382 e.g., @code{dvilj4} for LaserJet-compatible printers.
383 @end enumerate
384 191
385 @node Command basics 192 @node Command basics
386 @chapter Basic overview 193 @chapter Basic overview
387 194
388 A command shell is a means of entering verbally-formed commands. This 195 A command shell is a means of entering verbally-formed commands. This