80 |
|
|
81 |
@menu |
@menu |
82 |
* What is Eshell?:: A brief introduction to the Emacs Shell. |
* What is Eshell?:: A brief introduction to the Emacs Shell. |
|
* Installation:: For users of Emacs 20 and XEmacs. |
|
83 |
* Command basics:: The basics of command usage. |
* Command basics:: The basics of command usage. |
84 |
* Commands:: |
* Commands:: |
85 |
* Arguments:: |
* Arguments:: |
145 |
looks like: But don't let it fool you; once you know what's going on, |
looks like: But don't let it fool you; once you know what's going on, |
146 |
it's easier than it looks: @code{ls -lt **/*.doc(Lk+50aM+5)}.} |
it's easier than it looks: @code{ls -lt **/*.doc(Lk+50aM+5)}.} |
147 |
|
|
|
As of Emacs 21, Eshell is part of the standard Emacs distribution. |
|
|
|
|
148 |
@menu |
@menu |
149 |
* Contributors to Eshell:: People who have helped out! |
* Contributors to Eshell:: People who have helped out! |
150 |
@end menu |
@end menu |
189 |
requests, bug reports and encouragement. Thanks a lot! Without you |
requests, bug reports and encouragement. Thanks a lot! Without you |
190 |
there would be no new releases of Eshell. |
there would be no new releases of Eshell. |
191 |
|
|
|
@node Installation |
|
|
@chapter Installation |
|
|
@cindex installation |
|
|
|
|
|
As mentioned above, Eshell comes preinstalled as of Emacs 21. If you're |
|
|
using Emacs 20.4 or later, or XEmacs 21, you can download the most |
|
|
recent version of Eshell from |
|
|
@url{http://www.gci-net.com/users/j/johnw/Emacs/packages/eshell.tar.gz}. |
|
|
|
|
|
However, if you are using Emacs 21, you may skip this section. |
|
|
|
|
|
@section Short Form |
|
|
|
|
|
Here's exactly what to do, with no explanation why: |
|
|
|
|
|
@enumerate |
|
|
@item |
|
|
@samp{M-x load-file RET eshell-auto.el RET}. |
|
|
|
|
|
@item |
|
|
@samp{ESC : (add-to-list 'load-path "<path where Eshell resides>") RET}. |
|
|
|
|
|
@item |
|
|
@samp{ESC : (add-to-list 'load-path "<path where Pcomplete resides>") RET}. |
|
|
|
|
|
@item |
|
|
@samp{M-x eshell RET}. |
|
|
|
|
|
You should see a version banner displayed. |
|
|
|
|
|
@item |
|
|
@samp{ls RET}. |
|
|
|
|
|
Confirm that you see a file listing. |
|
|
|
|
|
@item |
|
|
@samp{eshell-test RET}. |
|
|
|
|
|
Confirm that everything runs correctly. Use @kbd{M-x eshell-report-bug} if |
|
|
not. |
|
|
|
|
|
@item |
|
|
@samp{cd $@{dirname (locate-library "eshell-auto")@} RET}. |
|
|
|
|
|
@item |
|
|
@samp{find-file Makefile RET}. |
|
|
|
|
|
@item |
|
|
Edit the Makefile to reflect your site. |
|
|
|
|
|
@item |
|
|
@samp{M-x eshell RET}. |
|
|
|
|
|
@item |
|
|
@samp{make install RET}. |
|
|
|
|
|
@item |
|
|
@samp{find-file $user-init-file RET}. |
|
|
|
|
|
@item |
|
|
Add the following lines to your @file{.emacs} file: |
|
|
|
|
|
@example |
|
|
(add-to-list 'load-path "<directory where you install Eshell>") |
|
|
(load "eshell-auto") |
|
|
@end example |
|
|
|
|
|
@item |
|
|
@samp{M-x eshell RET}. |
|
|
|
|
|
@item |
|
|
@samp{customize-option #'eshell-modules-list RET}. |
|
|
|
|
|
@item |
|
|
Select the extension modules you prefer. |
|
|
|
|
|
@item |
|
|
Restart Emacs! |
|
|
|
|
|
@item |
|
|
@samp{M-x info RET m Eshell RET}. |
|
|
|
|
|
Read the manual and enjoy! |
|
|
@end enumerate |
|
|
|
|
|
@section Long Form |
|
|
|
|
|
@enumerate |
|
|
@item |
|
|
Before building and installing Eshell, it is important to test that it |
|
|
will work properly on your system. To do this, first load the file |
|
|
@file{eshell-auto}, which will define certain autoloads required to run |
|
|
Eshell. This can be done using the command @kbd{M-x load-file}, and |
|
|
then selecting the file @file{eshell-auto.el}. |
|
|
|
|
|
@item |
|
|
In order for Emacs to find Eshell's files, the Eshell directory must be |
|
|
added to the @code{load-path} variable. This can be done within Emacs by |
|
|
typing: |
|
|
|
|
|
@example |
|
|
ESC : (add-to-list 'load-path "<path where Eshell resides>") RET |
|
|
ESC : (add-to-list 'load-path "<path where Pcomplete resides>") RET |
|
|
@end example |
|
|
|
|
|
@item |
|
|
Start Eshell from the distributed sources, using default settings, by |
|
|
typing @kbd{M-x eshell}. |
|
|
|
|
|
@item |
|
|
Verify that Eshell is functional by typing @command{ls} followed by |
|
|
@key{RET}. You should have already seen a version banner announcing the |
|
|
version number of this release, followed by a prompt. |
|
|
|
|
|
@item |
|
|
Run the test suite by typing @command{eshell-test} followed by @key{RET} |
|
|
in the Eshell buffer. It is important that Emacs be left alone while |
|
|
the tests are running, since extraneous command input may cause some of |
|
|
the tests to fail (they were never intended to run in the background). |
|
|
If all of the tests pass, Eshell should work just fine on your system. |
|
|
If any of the tests fail, please send e-mail to the Eshell maintainer |
|
|
using the command @kbd{M-x eshell-report-bug}. |
|
|
|
|
|
@item |
|
|
Edit the file @file{Makefile} in the directory containing the Eshell |
|
|
sources to reflect the location of certain Emacs directories at your |
|
|
site. The only things you really have to change are the definitions of |
|
|
@code{lispdir} and @code{infodir}. The elisp files will be copied to |
|
|
@code{lispdir}, and the info file to @code{infodir}. |
|
|
|
|
|
@item |
|
|
Type @kbd{make install} in the directory containing the Eshell sources. |
|
|
This will byte-compile all of the @file{*.el} files and copy both the |
|
|
source and compiled versions to the directories specified in the |
|
|
previous step. It will also copy the info file, and add a corresponding |
|
|
entry to your @file{dir} file----if the program @code{install-info} can |
|
|
be found on your system. |
|
|
|
|
|
If you only want to create the compiled elisp files, but don't want to |
|
|
install them, you can type just @kbd{make} instead. |
|
|
|
|
|
@item |
|
|
Add the directory into which Eshell was installed to your |
|
|
@code{load-path} variable. This can be done by adding the following |
|
|
line to your @file{.emacs} file: |
|
|
|
|
|
@example |
|
|
(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/eshell") |
|
|
@end example |
|
|
|
|
|
The actual directory on your system may differ. |
|
|
|
|
|
@item |
|
|
To install Eshell privately, edit your @file{.emacs} file; to install |
|
|
Eshell site-wide, edit the file @file{site-start.el} in your |
|
|
@file{site-lisp} directory (usually |
|
|
@file{/usr/local/share/emacs/site-lisp} or something similar). In |
|
|
either case enter the following line into the appropriate file: |
|
|
|
|
|
@example |
|
|
(load "eshell-auto") |
|
|
@end example |
|
|
|
|
|
@item |
|
|
Restart Emacs. After restarting, customize the variable |
|
|
@code{eshell-modules-list}. This variable selects which Eshell |
|
|
extension modules you want to use. You will find documentation on each |
|
|
of those modules in the Info manual. |
|
|
@end enumerate |
|
|
|
|
|
@cindex documentation, printed version |
|
|
@cindex printed version of documentation |
|
|
If you have @TeX{} installed at your site, you can make a typeset manual |
|
|
from @file{eshell.texi}. |
|
|
|
|
|
@enumerate |
|
|
@item |
|
|
Run @TeX{} by typing @kbd{texi2dvi eshell.texi}. (With Emacs 21.1 or |
|
|
later, typing @kbd{make eshell.dvi} in the @file{man/} subdirectory of |
|
|
the Emacs source distribution will do that.) |
|
|
|
|
|
@item |
|
|
Convert the resulting device independent file @file{eshell.dvi} to a |
|
|
form which your printer can output and print it. If you have a |
|
|
postscript printer, there is a program, @code{dvi2ps}, which does that; there |
|
|
is also a program which comes together with @TeX{}, @code{dvips}, which |
|
|
you can use. For other printers, use a suitable DVI driver, |
|
|
e.g., @code{dvilj4} for LaserJet-compatible printers. |
|
|
@end enumerate |
|
|
|
|
192 |
@node Command basics |
@node Command basics |
193 |
@chapter Basic overview |
@chapter Basic overview |
194 |
|
|