1. Introduction to ESS
The S family (S, Splus and R) and SAS statistical analysis packages
provide sophisticated statistical and graphical routines for manipulating
data. Emacs Speaks Statistics (ESS) is based on the merger
of two pre-cursors, S-mode and SAS-mode, which provided support for the
S family and SAS respectively. Later on, Stata-mode was also incorporated.
ESS provides a common, generic, and useful interface, through emacs, to
many statistical packages. It currently supports the S family, SAS, BUGS,
Stata and XLisp-Stat with the level of support roughly in that order.
A bit of notation before we begin. emacs refers to both
GNU Emacs by the Free Software Foundation, as well as
XEmacs by the XEmacs Project. The emacs major
mode ESS[language]
, where language
can take values such as
S
, SAS
, or XLS
. The inferior process interface
(the connection between emacs and the running process) referred to as inferior ESS
(iESS
), is denoted in the modeline by ESS[dialect]
, where
dialect
can take values such as S3
, S4
, S+3
,
S+4
, S+5
, S+6
, S+7
, R
, XLS
, VST
, SAS
.
Currently, the documentation contains many references to `S'
where actually any supported (statistics) language is meant, i.e., `S'
could also mean `XLisp-Stat' or `SAS'.
For exclusively interactive users of S, ESS provides a number of
features to make life easier. There is an easy to use command history
mechanism, including a quick prefix-search history. To reduce typing,
command-line completion is provided for all S objects and "hot
keys" are provided for common S function calls. Help files are
easily accessible, and a paging mechanism is provided to view them.
Finally, an incidental (but very useful) side-effect of ESS is that a
transcript of your session is kept for later saving or editing.
No special knowledge of Emacs is necessary when using S
interactively under ESS.
For those that use S in the typical edit--test--revise cycle when
programming S functions, ESS provides for editing of S functions
in Emacs edit buffers. Unlike the typical use of S where the editor
is restarted every time an object is edited, ESS uses the current Emacs
session for editing. In practical terms, this means that you can edit
more than one function at once, and that the ESS process is still
available for use while editing. Error checking is performed on
functions loaded back into S, and a mechanism to jump directly to the
error is provided. ESS also provides for maintaining text versions of
your S functions in specified source directories.
1.1 Why should I use ESS?
Statistical packages are powerful software systems for manipulating and
analyzing data, but their user interfaces often leave something something
to be desired: they offer weak editor functionality and they differ
among themselves so markedly that you have to re-learn how to do those
things for each package. ESS is a package which is designed to make
editing and interacting with statistical packages more uniform,
user-friendly and give you the power of emacs as well.
ESS provides several features which make it easier to interact with the
ESS process (a connection between your buffer and the statistical
package which is waiting for you to input commands). These include:
-
Command-line editing for fixing mistakes in commands before they are
entered. The `-e' flag for S-plus provides something similar to
this, but here you have the full range of Emacs commands rather than a
limited subset. However, other packages such as XLisp-Stat and S3 do not
necessarily have features like this built-in.
See section 4.1 Entering commands and fixing mistakes.
-
Searchable command history for recalling previously-submitted
commands. This provides all the features of the `Splus -e' history
mechanism, plus added features such as history searching.
See section 4.5 Command History.
-
Command-line completion of both object and file names for quick
entry. This is similar to
tcsh
's facility for filenames; here it
also applies to object names and list components.
See section 4.2 Completion of object names.
-
Hot-keys for quick entry of commonly-used commands in `S' such as
objects()
and search()
.
See section 4.7 Hot keys for common commands.
-
Transcript recording for a complete record of all the actions in an
S session.
See section 4.4 Manipulating the transcript.
-
Interface to the help system, with a specialized mode for viewing S
help files.
See section 9. Reading help files.
If you commonly create or modify S functions, you will have found
the standard facilities for this (the `fix()' function, for
example) severely limiting. Using S's standard features, one can only
edit one function at a time, and you can't continue to use S while
editing. ESS corrects these problems by introducing the following
features:
-
Object editing. ESS allows you to edit more than one function
simultaneously in dedicated Emacs buffers. The ESS process may
continue to be used while functions are being edited.
See section 7.1 Creating or modifying S objects.
-
A specialized editing mode for S code, which provides syntactic
indentation and highlighting.
See section 7.5 Indenting and formatting S code.
-
Facilities for loading and error-checking source files, including a
keystroke to jump straight to the position of an error in a source file.
See section 7.3 Detecting errors in source files.
-
Source code revision maintenance, which allows you to keep historic
versions of S source files.
See section 7.7 Maintaining S source files.
-
Facilities for evaluating S code such as portions of source
files, or line-by-line evaluation of files (useful for debugging).
See section 7.4 Sending code to the ESS process.
Finally, ESS provides features for re-submitting commands from saved
transcript files, including:
1.2 New features in ESS
Changes/New Features in 5.2.7:
- If you use Custom to change the variable ess-toolbar-items,
the new toolbar is used in all subsequent ESS buffers.
- ESS[SAS]: new feature: if ess-sas-log-max >0 and
your .log grows to more than ess-sas-log-max bytes, just
the first ess-sas-log-max bytes are refreshed; this is helpful when your .sas program
generates lots of error messages and gets too big for emacs to display
- ESS[R/S]: M-; in R/S editing modes will now indent with
either one or two hashes depending on context.
- ESS[R]: David Whiting's Sweave extensions (to 'noweb')
are now available (from ess-swv.el loaded by default).
Changes/New Features in 5.2.6:
- Removed non-ASCII characters in a few files.
- ESS[R]: now works better when UTF-8 locale is active; in
particular, you get correct directional quotes in R's startup message
for R-devel (unstable development version of R 2.1.0) when using
environment variables LANGUAGE=en@quot LC_ALL=en_US.UTF-8
- ESS[SAS]: toggling of .log mode improved (F10); toggling of
.lst mode now also available (C-F10); killing all buffers associated
with .sas program no longer bound to C-F10 since its a bit overzealous;
EXPERIMENTAL new feature: if your .log grows to more than 2.5MB, just
the first 2.5MB are refreshed; this is helpful when your .sas program
generates lots of error messages and gets too big for emacs to display;
the truncation size is controlled by the variable ess-sas-log-max and
defaults to 2500000.
- S-Plus 7 for Windows is now recognized.
- ESS[S] (incl. R): in auto-fill mode, strings are not wrapped anymore.
- ESS[S] (incl. R): font-lock now correctly differs between R and S,
e.g., for "_"; both now fontify warning(.) and S does terminate() additionally.
- Support for `bell' aka `beep' aka `ding' aka `alarm' in all inferior
modes: When \a is output "to the the console" at the beginning of a line,
the bell is rung.
Changes/New Features in 5.2.5:
- ESS[R]: C-c C-q or `Quit S' from the menu now should work
(again and less klunkily) and do not append `-exited' to the
buffer name. Further, the behavior of
(ess-cleanup)
, called from
ess-quit, now depends on the new customizable variable
ess-S-quit-kill-buffers-p
which defaults to nil
.
Consequently, the question "Delete all buffers associated
with ..?" will not be asked anymore by default.
- ESS[SAS] -- ess-ebcdic-to-ascii-search-and-replace will now work
with the
recode
application as well which is available on many platforms
- ESS[S] (incl. R): Name completion for slots of S4 objects now works!
Changes/New Features in 5.2.4:
- The documentation now includes an overview of how to use the emacs
TAGS facility for S functions. (The distribution also used to contain a
directory `etc/other/Tags' where a ~1990 version of `etags.c' was
distributed; this is no longer relevant and so has been deleted.)
- ESS[SAS] -- When you are working with EBCDIC files on an ASCII
platform, .log NOTEs may display as gibberish since the EBCDIC
characters are not converted to ASCII prior to their display. So,
the function ess-ebcdic-to-ascii-search-and-replace is provided for
convenience and is bound to C-F11. This function requires the
dd
command (only available on unix or unix-like platforms).
- ESS: Completion of object names is now always done dynamically rather
than allowing the option of using a pre-computed database (by
ess-create-object-name-db
) since modern computers seem fast
enough for dynamic completion. (We expect few users, if any, have
been using the pre-computed database method.)
- ESS: object completion in iESS buffers running on Windows was
very slow (for GNU Emacs, but not XEmacs) and has now been fixed.
Further, it was more or less broken for all versions of S-plus 6.x,
and has been fixed to work everywhere but with the Windows' GUI of
S-plus. The list of objects now shows unique names also when an
object appears more than once in the search path.
- ESS[R]: Completion of object names now also includes those
starting with ".".
Changes/New Features in 5.2.3:
- ESS: When new inferior ESS processes are created, by default they
will replace the current buffer (this restores behavior from pre
5.2.0). If you wish new ESS processes to start in another window of the
current frame, set inferior-ess-same-window to nil.
- New variables inferior-Splus-args and inferior-R-args provide a
way to pass command line arguments to starting S and R processes.
Changes/New Features in 5.2.2:
- bug-fixes for 5.2.1 (require 'executable), html docs, etc.
- ess-lisp-directory/../doc/info added to Info-directory-list
if ess-info not found by info
- ESS[R]: If you have other versions of R on your
exec-path, such as "R-1.8.1" with Unix or "rw1081" with Windows,
ESS will find them and create appropriate functions, such as
M-x R-1.8.1 or M-x rw1081, for calling them.
By default only Unix programs beginning "R-1" and
"R-2" and Windows programs parallel to the
version of R in your exec-path will be found,
but see ess-r-versions and ess-rterm-versions for ways to find other
versions of R.
- ESS[R]: Other versions of R, such as "R-1.8.1" on Unix and "rw1081" on
Windows, are added to the
"ESS / Start Process / Other" menu.
- ESS[S]: If you have other versions of S-Plus on your Windows computer,
such as S-Plus 6.1 or S-Plus 4.5, ESS will find them and create appropriate
functions, such as M-x splus61, for calling the console version (Sqpe)
inside an emacs buffer. By default only
programs installed in the default location will be found, but see
ess-SHOME-versions for ways to find other versions of S-Plus.
- ESS[S]: Other versions of Sqpe on Windows, such as "splus61",
are added to the
"ESS / Start Process / Other" menu.
- ESS[R]: (bug fix) ess-quit (bound to C-c C-q) should now quit the
inferior R process, when issued from either the inferior buffer, or from
a .R buffer.
Changes/New Features in 5.2.1:
- ESS[S] (R and S-plus): now have toolbar support
with icons to evaluate code in the inferior process or to switch
there. This code is experimental and likely to change as XEmacs/Emacs
issues get resolved. The toolbar should be enabled if your Emacs
displays images, but can be disabled with the variable ess-use-toolbar.
Thanks to David Smith from Insightful for the S-plus logo.
- ESS[SAS]: ess-sas-graph-view (F12) enhanced; you can specify
external file viewers for each graphics file type via the alist
ess-sas-graph-view-viewer-alist; also .jpg/.gif are now handled
by image-mode on XEmacs, if available, otherwise by graphics
primitives as before
Changes/New Features in 5.2.0:
- ESS[BUGS]: new info documentation! now supports interactive
processing thanks to Aki Vehtari;
new architecture-independent unix support as well as support for BUGS v. 0.5
- ESS[SAS]: convert .log to .sas with ess-sas-transcript;
info documentation improved; Local Variable bug fixes;
SAS/IML statements/functions now highlighted; files edited
remotely by ange-ftp/EFS/tramp are recognized and pressing
SUBMIT opens a buffer on the remote host via the local variable
ess-sas-shell-buffer-remote-init which defaults to "ssh";
changed the definition of the variable ess-sas-edit-keys-toggle
to boolean rather than 0/1; added the function ess-electric-run-semicolon
which automatically reverse indents lines containing only "run;";
C-F1 creates MS RTF portrait from the current buffer;
C-F2 creates MS RTF landscape from the current buffer;
C-F9 opens a SAS DATASET with PROC INSIGHT rather than PROC FSVIEW;
"inferior" aliases for SAS batch: C-c C-r for submit region,
C-c C-b for submit buffer, C-c C-x for goto .log; C-c C-y for goto .lst
- ESS[S]: Pressing underscore ("_") once inserts " <- " (as before);
pressing underscore twice inserts a literal underscore. To stop this
smart behaviour, add "(ess-smart-underscore nil)" to your .emacs after
ess-site has been loaded;
ess-dump-filename-template-proto (new name!) now can be
customized successfully (for S language dialects);
Support for Imenu has been improved; set ess-imenu-use-S to non-nil to
get an "Imenu-S" item on your menubar;
ess-help: Now using nice underlines (instead of `nuke-* ^H_')
- ESS[R]: After (require 'essa-r), M-x ess-r-var allows to load
numbers from any Emacs buffer into an existing *R* process;
M-x ess-rdired gives a "directory editor" of R objects;
fixed ess-retr-lastvalue-command, i.e. .Last.value bug
(thanks to David Brahm)
- ESS: Support for creating new window frames has been added to
ESS. Inferior ESS processes can be created in dedicated frames by
setting inferior-ess-own-frame to t. ESS help buffers can also open in
new frames; see the documentation for ess-help-own-frame for details.
(Thanks to Kevin Rodgers for contributing code.)
Changes/New Features in 5.1.24:
- The version number is now correct even inside ESS/Emacs
Changes/New Features in 5.1.23:
- Minor more Makefile clean up.
Changes/New Features in 5.1.22:
- Besides info documentation, PDF and HTML
documentation are also provided (instead of built using "make") and available
on the web as well; see ESS web page and StatLib
- Now that info documentation is available, the
README.* files are no longer supported. However, they
are still distributed for what it's worth.
- ESS is now an XEmacs package! See
XEmacs Installation HOWTO
for details (specifically, items 10-15).
- ESS[SAS]: more user-friendly enhancements for remote
SAS batch jobs with Kermit file transfers (LOG and OUTPUT
function key features now supported). Multiple shells
now supported so you can run SAS on different computers
from different buffers by setting the buffer-local variable
ess-sas-shell-buffer to unique buffer names.
- Major re-vamping of Makefile/Makeconf.
Changes/New Features in 5.1.21:
- ESS[SAS]: info documentation now available!, see
ESS->Help for SAS; F12 opens GSASFILE nearest point for viewing
either within emacs, when available, or via an external viewer;
more syntax highlighting keywords; more enhancements for remote
SAS batch jobs with Kermit; new framework for remote SAS interactive
jobs, see ess-remote
- ESS[S]: info documentation now available!, see
ESS->Help for the S family
- Makefile: tag now independent of rel; info files
made by doc/Makefile and installed in new info sub-directory
Changes/New Features in 5.1.20:
- New `options()$STERM' in the S dialects (S, S-Plus, R).
The S program can determine the environment in which it is
currently running. ESS sets the option to `iESS' or `ddeESS'
when it starts an S language process. We recommend other specific
values for S language processes that ESS does not start.
- New `ess-mouse-me' function, assigned to S-mouse-3 by default.
User may click on a word or region and then choose from the
menu to display the item, or a summary, or a plot, etc.
This feature is still under development.
- GNU Emacs 21.1 is now supported (fixed for S dialects, SAS & BUGS),
(some from Stephen Eglen).
- XEmacs 21.x is now supported (fixed w32-using-nt bug)
- XEmacs on Win (NT) is better supported.
- Workaround for bug in Sqpe+6 (S-PLUS 6 for Win).
- should now work even when imenu is not available (for old XEmacsen).
- ESS[SAS]: XEmacs-Imenu fix; C-TAB is globalized along with your
function-key definitions, if specified; you can specify your SAS
library definitions outside of autoexec.sas for ess-sas-data-view
with SAS code placed in the variable ess-sas-data-view-libname,
also the dataset name is defaulted to the nearest permanent dataset
to point; Speedbar support now works for permanent datasets, please
ignore first./last.; new font-locking is now the default with more
improvements for font-locking PROCs, macro statements, * ; and %* ;
comments; you can toggle sas-log-mode with F10 which will font-lock
your .log (if it isn't too big); submit remote .sas files accessed
with ange-ftp, EFS or Tramp (Kermit is experimental) by setting
ess-sas-submit-method to 'sh; ess-sas-submit-command and
ess-sas-submit-command-options are buffer-local so you can have
local file variable sections at the end of your .sas files to
request different executables or specify special options and the
local file variables are re-read at submit instead of only at file
open so that if you make a change it is picked up immediately;
- ESS[BUGS]: font-lock with `in' fixed.
- for STATA: font-lock bug fixed.
- for Rd mode: C-c C-v and `switch-process' in menu.
further, C-c C-f prefix (Rd-font) for inserting or surrounding a word
by things such as \code{.}, \code{\link{.}}, \emph{.} etc.
- new functions (ess-directory-function) and (ess-narrow-to-defun)
ess-directory <-> default-directory logic (Jeff Mincy).
- Re-organized Makefile and fixed a few bugs.
Changes/New Features in 5.1.19:
- S+6 now supported (Tony Rossini (Unix) and Rich Heiberger (Windows))
- New BUGS support through ESS[BUGS] mode (Rodney Sparapani)
Templates assist you in writing .bug and .cmd code (.cmd and .log
are replaced by .bmd and .bog to avoid emacs extension collisions).
Substitution" parameters facilitate "automagic" generation of
data...in" and "init...in" filenames, "const N=" from your data
file and "monitor()/stats()" commands. Activated by pressing F12.
- Fixes for `ess-smart-underscore' SAS breakage (Rich Heiberger)
- You can change between PC and Unix, local and global SAS function-key
definitions interactively (Rich Heiberger)
- C-Submit a highlighted region to SAS batch (Rodney Sparapani)
- New and improved SAS syntax highlighting (Rodney Sparapani)
To get the new functionality, set ess-sas-run-make-regexp to nil.
Also available in .log files via F10.
- Open a permanent SAS dataset for viewing via F9 (Rodney Sparapani)
You must have the library defined in autoexec.sas for it to work.
- User-friendly defaults for `sas-program', `ess-sas-batch-pre-command'
and `ess-sas-batch-post-command' as well Customize support for these
and other ESS[SAS] variables (Rodney Sparapani)
- `ess-sas-suffix-2' now defaults to .dat via F11 (Rodney Sparapani)
- Emacs/XEmacs, Unix/Windows issues collectively handled in ess-emcs.el
- defadvice solves problem of missing *ESS* (thanks to Jeff Mincy)
- Improved manual a bit by including things that were only in `README'.
Changes/New Features in 5.1.18:
- New `ess-smart-underscore' function, now assigned to "_" by default.
Inserts `ess-S-assign' (customizable " <- "), unless inside string
and comments where plain "_" is used instead. (MM)
- Fixes for longstanding interactive SAS breakage (RMH)
Changes/New Features in 5.1.17:
- Documentation for Windows Installation (Rich Heiberger)
- removal of ess-vars, finalization of customize support (in the
sense that there is no more use of ess-vars, but that we need to
fix ess-cust) (AJ Rossini)
- Many small (and large) fixes/contributions (MMaechler)
- addition of the "S-equal" variable and provide M-x ess-add-MM-keys
a way to remap "_" to `ess-S-assign', typically " <- ", but
customizable. (MMaechler)
Changes/New Features in 5.1.16:
- BUG FIXES
- Better SAS support
Changes/New Features in 5.1.15:
Changes/New Features in 5.1.14:
- Yet more fixes to SAS mode, (Rich Heiberger and Rodney Sparapani)
- Customize support (for most Emacsen which support it) (AJRossini)
- ARC and ViSta support out of the box, and fixes for XLispStat (AJRossini)
Changes/New Features in 5.1.13:
- Version numbering finally all depending on the ./VERSION file,
thanks to Martin Maechler.
- Yet more fixes to SAS mode, thanks to Rich Heiberger.
Changes/New Features in 5.1.12:
- Splus 5.1 stabilized, thanks to Martin Maechler, Bill Venables,
Chuck Taylor, and others.
- More fixes to SAS mode, thanks to Rodney Sparapani
and Rich Heiberger.
Changes/New Features in 5.1.11:
- More fixes to Stata mode, thanks to
Brendan Halpin.
- fixed bugs in ESS-elsewhere, thanks to many testers
- README.SPLUS4WIN has DETAILED instructions for S-PLUS 2000, thanks
to David Brahm.
- Fixes to SAS mode, thanks to Rodney Sparapani
Changes/New Features in 5.1.10:
- More fixes to Stata mode
- primitive generic version of ESS-elsewhere
- Small fixes to SAS/Stata.
Changes/New Features in 5.1.9:
- Stata mode works
- Literate Data Analysis using Noweb works
Changes/New Features in 5.1.8:
- Bug fixes
- R documentation mode defaults changed
Changes/New Features in 5.1.2:
- able to use inferior iESS mode to
communicate directly with a running S-Plus 4.x process using the
Microsoft DDE protocol. We use the familiar (from Unix ESS) C-c C-n
and related key sequences to send lines from the S-mode file to the
inferior S process. We continue to edit S input files in ESS[S] mode
and transcripts of previous S sessions in ESS Transcript mode. All
three modes know the S language, syntax, and indentation patterns and
provide the syntactic highlighting that eases the programming tasks.
1.3 Authors of and contributors to ESS
The ESS environment is built on the open-source projects of
many contributors, dating back nearly 15 years.
Doug Bates and Ed Kademan wrote S-mode in 1989 to edit S and Splus
files in GNU Emacs. Frank Ritter and Mike Meyer added features,
creating version 2. Meyer and David Smith made further contributions,
creating version 3. For version 4, David Smith provided process
interaction based on Olin Shivers' comint package.
John Sall wrote GNU Emacs macros for SAS source code around 1990.
Tom Cook added more functionality creating SAS-mode which was
distributed in 1994. Also in 1994, A.J. Rossini extended S-mode
to support XEmacs. Together with extensions written by Martin Maechler,
this became version 4.7 and supported S, Splus, and R.
In 1995, Rossini extended SAS-mode to work with XEmacs.
In 1997, Rossini merged S-mode and SAS-mode into a single Emacs
package for statistical programming; the product of this marriage was
called ESS version 5.
-
The multiple process code, and the idea for
ess-eval-line-and-next-line
are by Rod Ball.
-
Thanks to Doug Bates for many useful suggestions.
-
Thanks to Martin Maechler for reporting and fixing bugs, providing many
useful comments and suggestions, and for maintaining the S-mode mailing
list.
-
Thanks to Frank Ritter for updates from the previous version, the menu
code, and invaluable comments on the manual.
-
Thanks to Ken'ichi Shibayama for his excellent indenting code, and many
comments and suggestions.
-
Last but definitely not least, thanks to the many beta testers of the
S-mode and ESS mailing lists.
ESS version 5 is being developed and currently maintained by
1.4 Getting the latest version of ESS
The latest released version of ESS is always available on the web at:
ESS web page or
StatLib
The latest development version of ESS is available via
https://svn.R-project.org/ESS/, the ESS Subversion repository. If
you have a Subversion client (see http://subversion.tigris.org/),
you can download the sources using:
| % svn checkout https://svn.r-project.org/ESS/trunk path
|
which will put the ESS files into directory path. Later,
within that directory, `svn update' will bring that directory up to
date. Windows-based tools such as TortoiseSVN are also available for
downloading the files. Alternatively, you can browse the sources with a
web browser at: ESS SVN
site. However, please use a subversion client instead to minimize the
load when retrieving.
If you remove other versions of ESS from your emacs load-path, you can
then use the development version by adding the following to .emacs:
| (load "/path/to/ess-svn/lisp/ess-site.el")
|
Note that https is required, and that the SSL certificate for the
Subversion server of the R project is
| Certificate information:
- Hostname: svn.r-project.org
- Valid: from Jul 16 08:10:01 2004 GMT until Jul 14 08:10:01 2014 GMT
- Issuer: Department of Mathematics, ETH Zurich, Zurich, Switzerland, CH
- Fingerprint: c9:5d:eb:f9:f2:56:d1:04:ba:44:61:f8:64:6b:d9:33:3f:93:6e:ad
|
(currently, there is no "trusted certificate"). You can accept this
certificate permanently and will not be asked about it anymore.
1.5 How to read this manual
If you need to install ESS, read 2. Installing ESS on your system for details on what
needs to be done before proceeding to the next chapter.
In this manual we use the standard notation for describing the
keystrokes used to invoke certain commands. C-<chr> means hold
the CONTROL key while typing the character <chr>. M-<chr> means
hold the META or EDIT or ALT key down while typing <chr>. If there is no
META, EDIT or ALT key, instead press and release the ESC key and then
type <chr>.
All ESS commands can be invoked by typing M-x command. Most of
the useful commands are bound to keystrokes for ease of use. Also, the
most popular commands are also available through the emacs menubar, and
finally, if available, a small subset are provided on the toolbar.
Where possible, keybindings are similar to other modes in emacs to
strive for a consistent user interface within emacs, regardless of the
details of which programming language is being edited, or process being
run.
Some commands, such as M-x R can accept an optional `prefix'
argument. To specify the prefix argument, you would type C-u
before giving the command. e.g. If you type C-u M-x R, you will
be asked for command line options that you wish to invoke the R process
with.
Emacs is often referred to as a `self-documenting' text editor. This
applies to ESS in two ways. First, limited documentation about each ESS
command can be obtained by typing C-h f. For example, if you type
C-h f ess-eval-region, documentation for that command will appear
in a separate *Help* buffer. Second, a complete list of keybindings
that are available in each ESS mode and brief description of that mode
is available by typing C-h m within an ESS buffer.
Emacs is a versatile editor written in both C and lisp; ESS is written
in the Emacs lisp dialect (termed `elisp') and thus benefits from the
flexible nature of lisp. In particular, many aspects of ESS behaviour
can be changed by suitable customization of lisp variables. This manual
mentions some of the most frequent variables. A full list of them
however is available by using the Custom facility within emacs. (Type
M-x customize-group RET ess RET to get started.)
A. Customizing ESS provides details of common user variables you can
change to customize ESS to your taste, but it is recommended that you
defer this section until you are more familiar with ESS.
This document was generated
by XEmacs Webmaster on September, 16 2005
using texi2html