Annotation of researchv9/cmd/emacs/emacs.man, revision 1.1.1.1

1.1       root        1: .ds Tm \ \ 
                      2: .TH EMACS 1 exptools
                      3: .SH NAME
                      4: emacs - interactive screen editor
                      5: .SH SYNOPSIS
                      6: .nf
                      7: emacs [-i init_file] [+line_number] [-x] [file]
                      8: .SH DESCRIPTION
                      9: .ad b
                     10: .fi
                     11: Emacs is an interactive screen editor which can be used to construct
                     12: and edit files on UNIX.  A window of text from the file being edited
                     13: is displayed on the terminal screen, along with a status line
                     14: describing the editor version and file being edited.  Ordinary
                     15: characters typed are inserted in the file, while escape sequences
                     16: and control characters are used to invoke editing functions. 
                     17: Several files can be edited at the same time in different editing
                     18: buffers, and two of the active buffers can be displayed on the same
                     19: screen.  
                     20: .PP
                     21: If given a \fIfile\fP argument, emacs reads the file into the buffer
                     22: "Main".  Otherwise, an empty buffer is created.  If a \fIline_number\fP is
                     23: given, emacs moves to that line number in the specified file.  If
                     24: \fI-x\fP is specified, emacs asks for an encryption key and uses
                     25: \fBcrypt(1)\fP to read or write any files edited in that session. 
                     26: (See also the ^Xk command.)  If an \fIinit_file\fP is specified,
                     27: emacs will treat the contents of that file as emacs commands to be
                     28: executed on startup.  Emacs also looks in your home directory for a
                     29: file named \fI.emacs_init\fP and interprets commands from it before
                     30: those in the specified \fIinit_file\fP are executed.  This option
                     31: can also be specified with \fB.i\fP, in which case it suppresses the
                     32: processing of \fI.emacs_init\fP.
                     33: If an \fI.emacs_init\fP does not exist, emacs looks in the emacs
                     34: library directory (see below) for a standard \fI.emacs_init\fP.
                     35: .PP
                     36: Emacs can be customized by the user through user defined macro
                     37: commands, which can re-define the effect of the basic editing
                     38: commands.  Emacs has a number of built in editing modes that
                     39: customize some of the commands to support editing of particular
                     40: types of files, such as C source programs or word processing source
                     41: documents.
                     42: .PP
                     43: There are a number of self-help features in emacs to aid in learning
                     44: how to use the editor.  Complete documentation appears in:
                     45: .sp
                     46: .ti +10
                     47: An Interactive Screen Editor for Unix
                     48: .br
                     49: and
                     50: .ti +10
                     51: Writing macros for EMACS.
                     52: .PP
                     53: Emacs supports editing on most of the commonly used dislay
                     54: terminals including vt100, vt52, adm (adm3a), adm31, and most of the
                     55: Hewlett-Packard and Teletype terminals.  The terminal type can be
                     56: entered when emacs is invoked, or set in the environment variable
                     57: TERM.  On some systems, the \fBttype(1)\fP command can be used to
                     58: set your terminal type automatically by putting
                     59: .sp
                     60: .ti +10
                     61: TERM=`ttype`
                     62: .br
                     63: .ti +10
                     64: export $TERM
                     65: .sp
                     66: in your .profile.
                     67: .sp
                     68: If TERM is a given as a full path name, it will use a user
                     69: supplied terminal descriptor file.
                     70: .PP
                     71: .SH MISCELLANEOUS CONVENTIONS
                     72: .PP
                     73: Emacs treats the following characters specially in filenames:
                     74: .nf
                     75: 
                     76: $NAME           Evaluate NAME as an environment variable and substitute
                     77: ~USER           Substitute the home directory of USER.
                     78: ~EMACS                 Specifies the emacs library directory. (contains
                     79:                standard macros, etc.)
                     80: *,?             Can be used for matching in partially specified
                     81:                 filenames.
                     82: `COMMAND`       Substitute the output of running COMMAND.
                     83: {,[             Used as they are with the shell.
                     84: .fi
                     85: .sp
                     86: Emacs uses the following notation to display and input non-printing
                     87: characters:
                     88: .sp
                     89: .nf
                     90: ^X              Control-X, where X is any character.  These
                     91:                 characters are input by holding down the control key
                     92:                 and another key simultaneously on your terminal. 
                     93:                 Emacs also provides a special mode (controlify) to
                     94:                 allow you to input control characters that your
                     95:                 terminal cannot send to your system (see the
                     96:                 discussion of modes).  Some of the control
                     97:                 characters displayed are not very intuitive:
                     98:                         ^?      Rubbout
                     99:                         ^[      Escape
                    100:                         ^]      Control-right-bracket
                    101:                         ^\e      Control-backslash
                    102:                         ^_      Control-underline
                    103:                         ^@      Null
                    104:                         ^H      Backspace (Displays as ^H when
                    105:                                 backspace mode is off, see below).
                    106:                         ^I      Tab (Displays as ^I when notabs mode
                    107:                                 is on.)
                    108:                         ^J      Newline (Displays as ^J in searches)
                    109:                         ^M      Carriage return
                    110:                         
                    111: M-x             Meta-x, where x is any character (including a
                    112:                 control character.  Meta characters are entered by
                    113:                 typing escape followed by another character.
                    114: .fi
                    115: .PP
                    116: Many emacs commands take an optional numeric argument.  The argument
                    117: for a command precedes the command itself, and can be specified a
                    118: number of ways.  Typing ^U specifies an argument of 4, or 4 times
                    119: the current argument.  Typing escape followed by a sequence of
                    120: digits with or without a leading '-' specifies a decimal value. 
                    121: Some examples:
                    122: .nf
                    123: .sp
                    124: ^U^U^N          Go forward 16 lines
                    125: M-123^N         Go forward 123 lines
                    126: M--12^N         Go forward -12 lines (goes back 12 lines).
                    127: 
                    128: .fi
                    129: .PP
                    130: Some emacs commands prompt for a string parameter, such as a file
                    131: name.  Some of the normal emacs commands can be used to edit the
                    132: parameter while it is being entered.  These include: 
                    133: ^F,^B,^D,^H,^A,^E,^K,^U.  In addition, typing your kill character
                    134: (usually @) deletes the string, typing ^X substitutes the
                    135: contents of the current line in the buffer, and ^Y substitutes the
                    136: current file name.  (The latter is a very convenient way of finding
                    137: files with similar names.)
                    138: .SH REGULAR EXPRESSIONS
                    139: Emacs uses an extension of the regular expression syntax used by
                    140: \fBed\fP(1) and \fBgrep\fP(1) for regular expression searches and query replace.
                    141: The following character sequences have special meaning:
                    142: .nf
                    143: 
                    144: .               Matches any single character
                    145: [xyz]           Matches one character among the set enclosed in
                    146:                 brackets. (If the first character is ^, it matches
                    147:                 all but the specified characters.)
                    148: *               Matches 0 or more of the preceding expression (a
                    149:                 single character, specified as such or * or [])
                    150: +               Matches 1 or more of the preceding expression          
                    151: \e{x,y\e}         Matches x through y occurrences of the preceding
                    152:                 expression. If y is omitted, it defaults to 255.
                    153:                 If x is omitted it defaults to 0.
                    154: \e(expr\e)        Matches expr, and saves the text so matches for
                    155:                 later reference.
                    156: \e<              Matches 0 characters at the beginning of a word.
                    157: \e>              Matches 0 characters at the end of a word.
                    158: ^               Matches 0 characters at the beginning of a line
                    159: $               Matches 0 characters at the end of a line.
                    160: \en              Matches on newline at end of a line, must be last
                    161:                 character in the expression.
                    162: 
                    163: The following special sequences apply in the strings to replace with
                    164: in query replace.
                    165: 
                    166: &               Specifies the entire string matched by the from
                    167:                 string.
                    168: %               Specifies the previous from string.             
                    169: \e\fIn\fR              Specifies the string matched by the \fIn\fRth occurrence
                    170:                 of \e(expr\e) (Regular expression replace only).
                    171: ^J              Specifies a newline is to be inserted at this point.
                    172: 
                    173: .fi
                    174: .SH COMMAND SUMMARY
                    175: The following chart summarizes the available commands by category. 
                    176: Some commands appear in more than one category.  Commands that are
                    177: marked with '*' take a numeric argument that indicates how many
                    178: times to do the command.  Commands that are marked with '+' take a
                    179: numeric argument that changes the behavior of the command in some
                    180: other way.
                    181: .nf
                    182: 
                    183:         \fBGeneral Commands\fP
                    184:  ^G     Quit (Stops commands that prompt for things)
                    185:  ^Z     Exit one level (Usually exits emacs)
                    186:  ^X^C   Exit emacs
                    187:  M-^Z  Suspend emacs, (Requires a second ^Z on System 5 Unix)
                    188:  M-?    Help - Prompts for a command and displays its function.
                    189:  M-w    Put a wall chart of command explanations in the current buffer
                    190: +^L     Refresh the screen. (Argument indicates where to put the
                    191:         current line)
                    192: 
                    193:         \fBCharacter oriented commands\fP
                    194: *^F     Move forward one character
                    195: *^B     Move backward one character
                    196: *^D     Delete the character under the cursor
                    197: *^H,^?  Delete the previous character
                    198: *^T     transpose the current and next character, move forward.
                    199: *^C     Capitalize the current character
                    200:  M-i    Insert mode (macro, usually loaded from ~EMACS/.emacs_init)
                    201:  M-o    Overwrite mode (macro, usually loaded from ~EMACS/.emacs_init)
                    202: 
                    203:         \fBWord oriented commands\fP
                    204: *M-f    move forward one word
                    205: *M-b    move backward one word
                    206: *M-d    delete forward one word
                    207: *M-^?,M-^h delete backwards one word
                    208: *M-c    Capitalize the next word
                    209: *M-_    Underline the next word
                    210:  M-a    Move to the beginning of the sentence
                    211:  M-e    Move to the end of the sentence
                    212: 
                    213:         \fBLine oriented commands\fP
                    214:  ^A     move to beginning of line
                    215:  ^E     move to end of line
                    216: ^M-<    Move to beginning of file
                    217: ^M->    Move to end of file
                    218: *^P     move back one line
                    219: *^N     move forward one line
                    220: +M-g    Go to the line specified by the argument
                    221: *^O     Create a blank line in front of the cursor
                    222: *^J,^M  Make a new line (Just moves through empty lines).
                    223: *^K     Kill (delete) to the end of line (with argument, kills whole lines)
                    224: 
                    225:         \fBDelete commands\fP
                    226: *^D     Delete the character under the cursor
                    227: *^H,^?  Delete the previous character
                    228: *M-d    delete forward one word
                    229: *M-^?,M-^h delete backwards one word
                    230: *^K     Kill (delete) to the end of line (with argument, kills whole lines)
                    231: +^W     Delete the marked region (argument specifies a mark number)
                    232: *^Y     Restore the last deletion (sets mark in front of it).
                    233: *M-Y    Replace the marked region with the previous deletion
                    234:                 (Use only immediately ofter ^Y)
                    235: 
                    236:         \fBDisplay commands\fP
                    237:  ^L     Redraw the screen
                    238: *^V     Display the next page
                    239: *M-v    Display the previous page
                    240:  M-<    Move to beginning of file
                    241:  M->    Move to end of file
                    242:  M-^L   redraw with the current line at the top of the screen
                    243: 
                    244:         \fBBuffer commands\fP
                    245: (Most prompt for a buffer name, entering return gets a list of active
                    246:         buffers).
                    247:  ^X^B   change working buffer
                    248: +^X^F   Find file (does change buffer if file is in one, creates a new
                    249:                 buffer and reads the file if not).
                    250:  ^X^K   Kill buffer
                    251: +^X^N   Change buffer name (with argument, changes file name)
                    252:  ^X^T   Send region to buffer
                    253:  ^X=    Display statistics on buffer
                    254:  ^X2    Enter two window mode (prompts for buffer name for second window)
                    255:  ^X1    Make current window the only window
                    256:  ^X^O   Switch windows.
                    257: 
                    258: \fBFile commands\fP
                    259: +^X^R   Read file into current buffer (with an argument, inserts the
                    260:                 file at the current position)
                    261: +^X^W   Write buffer to file (With an argument, appends to the file)
                    262:  ^X^S   Save current buffer into current file.
                    263: +^X^F   Find file (does change buffer if file is in one, creates a new
                    264:                 buffer and reads the file if not).
                    265: +^X^N   Change buffer name (with argument, changes file name)
                    266: +^X^L   Load macros from file. (With an argument, undefines all
                    267:                 previously defined macros.)
                    268:                 
                    269: \fBRegion commands\fP
                    270: +M-(space) Set mark at position (argument the mark number)
                    271: +^X^X   Exchange mark and cursor position (argument is mark number)
                    272: +^W     Delete the region and put it on the kill stack
                    273: +M-p    Put the marked region in the kill stack without deleting it.
                    274: 
                    275: \fBSearch and Replace commands\fP
                    276: (All prompt for search and replace strings.)
                    277: 
                    278:  ^S,^R  Forward and reverse incremental search.  (Both display the
                    279:         string currently matched.  ^S moves to next occurrence, ^R
                    280:         moves to previous occurrence.  ^H deletes last character, ^G
                    281:         quits search, escape exits search at currently displayed
                    282:         position.  See below on regular expression search.
                    283: 
                    284:  M-^S   Regular expression search.  (waits for whole expression to
                    285:         be typed).  ^S following M-^S goes to next occurrence. 
                    286:         
                    287:  M-r,M-^R Ordinary and regular expression query replace. (Prompts at
                    288:         each occurrence of from string for the following:
                    289: 
                    290:         y               Replace with "to" string and move on.
                    291:         n               Do not replace this occurrence and move on.
                    292:         r               Replace all of the rest, showing each replacement.
                    293:         R               Replace the rest silently
                    294:         p               Move to previous occurrence of from string.
                    295:         .               Replace this one and stop
                    296:         ^G              Quit query replace
                    297:         ^[              Prompt for new to string, and replace this
                    298:                         occurrence with it.
                    299:                         
                    300: \fBWindow commands\fP
                    301:  ^X2    Enter two window mode (prompts for buffer name for second window)
                    302:  ^X1    Make current window the only window
                    303:  ^X^O   Switch windows.
                    304: *^X^^   Make current window grow by one line.
                    305: 
                    306: \fBSpecial input commands\fP
                    307: *^Q     Takes the next input character and inserts it, even if it is
                    308:         a control character
                    309: *M-Q    Takes the next input character, makes it a meta character,
                    310:         and inserts it.
                    311: +M-\e    Converts it's argument to an ascii character and inserts it.
                    312: 
                    313: \fBInteraction with Unix\fP
                    314: +M-!    Prompt for a unix command and execute it (with an argument,
                    315:         passes the buffer as standard input.
                    316: +M-$    Execute unix command, put output in .exec (with an argument,
                    317:         appends to .exec., with an argument of 0, starts a
                    318:        sub-process).
                    319: +^X^G  Interrupt sub-process.
                    320:  ^X^D   Change working directory
                    321:  M-^M   Send the current buffer as mail.  (Lines starting To: or Cc:
                    322:         are taken as destinations.)
                    323:  M-S    Run \fBspell\fP(1) on current buffer (macro, usually 
                    324:         loaded from ~EMACS/.emacs_init).
                    325:         
                    326: \fBMiscellaneous commands\fP
                    327: +^X^M   Specifies modes (See below)
                    328:  M-s    Prints emacs statistics
                    329:  M-z    Kill emacs and produce a dump (DOES NOT SAVE BUFFERS)
                    330: +M-"    Re-adjusts line boundaries in the whole buffer to fill lines
                    331:         evenly. (With an argument, it works only on the current
                    332:         region.
                    333:  M-/    Start a C comment.
                    334: 
                    335:         
                    336: .SH Modes
                    337: Mode parameters allow you to customize the behavior of certain
                    338: commands.  Some modes are switches, indicating only that something
                    339: is either off or on, while others are numeric parameters.  Modes can
                    340: be set by the ^X^M command.  Typing ^X^M followed by the name of a
                    341: switch mode turns it on, typing ^U^X^M followed by the name turns it
                    342: off.  To set numeric modes, give the value you want as an argument
                    343: to ^X^M. (i.e. M-500^X^Msave).  Modes can be set automatically by
                    344: putting ^X^M commands in your .emacs_init.  Modes can also be
                    345: attached to a file by putting the string "EMACS_MODES: " followed by
                    346: a list of mode settings in the first 10 lines of the file.  (The mode
                    347: settings can be preceded or followed by anything, to allow you to
                    348: make them look like a comment to other software processing the file.)
                    349: The mode settings are separated by commas and can be of the
                    350: following form:
                    351: .nf
                    352: .sp
                    353: modename:       set this switch mode
                    354: !modename:      Turn this switch mode off
                    355: modename=x:     Set this numeric parameter to x.
                    356: .fi
                    357: .sp
                    358: The following indicates the modes and their default settings. 
                    359: Switches are listed as either ON or OFF, while numeric parameters
                    360: have specified values.  \fINote that the system default .emacs_init may
                    361: alter these settings on your local machine\fP
                    362: .nf
                    363: \fBsave\fP (OFF)      Automatically saves each buffer after savetype
                    364:                 characters of input or when you change buffers
                    365: \fBsavetype\fP (256)  Number of characters between automatic saves
                    366: \fBmailtype\fP (100)  Number of characters between checks for new mail
                    367: \fBc\fP (OFF)         Automatically indents during typing for C programs
                    368: \fBverbose\fP (ON)    provides prompts for meta and control-x commands.
                    369: \fBfill\fP (ON)       Automatically replaces a space with a newline when
                    370:                 you type past the end of line or past fillcol
                    371:                 characters.
                    372: \fBfillcol\fP (72)    column beyond which lines are wrapped.
                    373: \fBeofnl\fP (ON)      Causes a newline to be appended to any file that
                    374:                 doesn't end in one.
                    375: \fBend_newline\fP (OFF) Causes attempts to move beyond the end of the file
                    376:                 to add newlines.
                    377: \fBkeepscroll(0)\fP   Number of lines kept from previous screen during ^V
                    378:                 and M-v
                    379: \fBreadonly\fP (OFF)  Prevents saving the current buffer
                    380: \fBpicture\fP (OFF)   Enables 2-dimensional editing (See the manual)
                    381: \fBtabstop\fP (8)     Width of a tab character
                    382: \fBoverwrite\fP (OFF) Causes input to replace characters already there,
                    383:                 rather than insert.
                    384: \fBnodelete\fP (OFF)  Causes deletions to replace the characters with
                    385:                 whitespace rather than deleting them.
                    386: \fBrigid_newline\fP (OFF) Causes newline to always insert a new line, even
                    387:                 if the next line is empty.
                    388: \fBnotabs\fP (OFF)    Causes tabs to be expanded to spaces on input, and
                    389:                 tabs in files to display as ^I
                    390: \fBcomcol\fP (40)     Column where the M-/ commands starts a comment.
                    391: \fBbackspace\fP (?)   Causes backspaces to appear as cursor motion, not
                    392:                 ^H.  This mode is set ON if your terminal handles
                    393:                 underscored characters, OFF otherwise.
                    394: \fBnobell\fP (OFF)    Causes emacs not to ring the terminal bell on an error
                    395: \fBcaseless\fP (OFF)  Causes all searches to ignore upper/lower case distinctions
                    396: \fBusilent\fP (OFF)   Causes output from unix commands run from emacs to
                    397:                 be discarded.
                    398: \fBnoecho\fP (OFF)    Causes output from M-$ commands not to be
                    399:                 echoed.
                    400: \fBcontrolify\fP (OFF) Causes a sequence of ctl_char followed by another
                    401:                 character to translate into the second character made
                    402:                 a control character.
                    403: \fBctl_char\fP (30)   Prefix for controlify (This is an integer specifying
                    404:                 the ascii code of the character, the default is ^^.
                    405: \fBlnumb\fP (ON)      Displays line numbers
                    406: \fBlnowid\fP (4)      Width of line numbers.
                    407: \fBtime\fP (OFF)      Displays a clock
                    408: \fBdisplay_percent\fP (OFF) Displays current position as a percentage of
                    409:                 the whole file.
                    410: \fBflow_lim\fP (0)    If non-zero, flow control will be enabled whenever
                    411:                 flow_lim characters are sent to the terminal in a
                    412:                 burst.
                    413: \fBheight\fP (?)      Height of screen area for buffer display (set automatically)
                    414: \fBwidth\fP (?)       width of screen
                    415: \fBtspeed\fP (?)      Describes your terminal to host speed.
                    416: \fBautoload\fP (ON)   Automatically loads macros when first referenced.
                    417: 
                    418: .fi
                    419: .SH ENVIRONMENT
                    420: The environment variable TERM if set is used to determine the
                    421: terminal type. The variable MAIL is the file name that emacs looks
                    422: at for newly arrived mail.  If your mail is forwarded to some other
                    423: system, MAIL should not be exported.  The environment variable
                    424: MAILER optionally specifies the name of a mail command to use for
                    425: sending mail.  The environment variable SHELL specifies the shell to
                    426: use to execute shell commands.
                    427: .ne 5
                    428: .SH FILES
                    429: .nf
                    430: $HOME/.emacs_init
                    431: ~EMACS/.emacs_init
                    432: $HOME/emacs[0-11]
                    433: ~EMACS/macros
                    434: ~EMACS/terminals
                    435: ~EMACS/helpfile
                    436: ~EMACS/errfile
                    437: .fi
                    438: The .emacs_init files, if present, contain a standard set of
                    439: initializations to be made when you start emacs.  The characters in
                    440: the file will be interpreted as if you had entered them as commands
                    441: from your terminal.  The most common application of this is to set
                    442: modes different from the default modes.  
                    443: .PP
                    444: When emacs is killed by an internal error, the \fBkill\fP(1) command, or
                    445: by hanging up during an editing session, it saves your buffers in
                    446: the files emacs0-emacs11 in your home directory.  You will receive
                    447: \fBmail\fP(1) notifying you of what buffers were saved.
                    448: .PP
                    449: The directory ~EMACS is the emacs library, the location of which
                    450: depends on your local installation.  Pathnames starting with ~EMACS
                    451: will be translated to the local path of this directory by emacs (but
                    452: \fInot\fP by other tools).  ~EMACS/macros contains a number of
                    453: useful macro packages that can be loaded.  ~EMACS/terminals contains
                    454: terminal information for emacs.  The other two files contain
                    455: internal data for emacs.
                    456: .sp 
                    457: On exptools machines, if $TOOLS is set, ~EMACS is set 
                    458: to $TOOLS/lib/emacs.  If $TOOLS is not set, ~EMACS is
                    459: set to ~exptools/lib/emacs. 
                    460: .SH SEE ALSO
                    461: .in +15
                    462: .ti -15
                    463: dired (1),
                    464: .br
                    465: .ti -15
                    466: .I An Interactive Screen Editor for UNIX,
                    467: by Warren Montgomery
                    468: TM-5343-80-2 (Updated copy may be maintained in
                    469: ~EMACS/emacs.tm.x
                    470: .br
                    471: .ti -15
                    472: .I Writing Macros for EMACS,
                    473: by Warren Montgomery (Updated copy may be maintained in
                    474: ~EMACS/macro.mm.x
                    475: .in

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.