Annotation of coherent/d/usr/bin/elvis/doc/ex.doc, revision 1.1

1.1     ! root        1: 
        !             2:      Elvis 1.4               COLON MODE COMMANDS                Page 3-1
        !             3: 
        !             4: 
        !             5: E3.  COLON MODE COMMANDSF
        !             6: 
        !             7:         -1lines           command         arguments                    -0
        !             8:         [line]          -1a-0ppend
        !             9:                         -1ar-0gs            [files]
        !            10:                         -1cc-0              [files]
        !            11:                         -1cd-0              [directory]
        !            12:         [line][,line]   -1c-0hange
        !            13:                         -1chd-0ir           [directory]
        !            14:         [line][,line]   -1co-0py            line
        !            15:         [line][,line]   -1d-0elete          ["x]
        !            16:                         -1di-0graph[!]      [XX [Y]]
        !            17:                         -1e-0dit[!]         [file]
        !            18:                         -1er-0rlist[!]      [errlist]
        !            19:                         -1e-0x[!]           [file]
        !            20:                         -1f-0ile            [file]
        !            21:         [line][,line]   -1g-0lobal          /regexp/ command
        !            22:         [line]          -1i-0nsert
        !            23:         [line][,line]   -1j-0oin
        !            24:         [line][,line]   -1l-0ist
        !            25:                         -1mak-0e            [target]
        !            26:                         -1ma-0p[!]          key mapped_to
        !            27:         [line]          mar-1k-0            x
        !            28:                         -1mk-0exrc
        !            29:         [line][,line]   -1m-0ove            line
        !            30:                         -1n-0ext[!]         [files]
        !            31:                         -1N-0ext[!]
        !            32:         [line][,line]   -1nu-0mber
        !            33:                         -1pre-0vious[!]
        !            34:         [line][,line]   -1p-0rint
        !            35:         [line]          -1pu-0t             ["x]
        !            36:                         -1q-0uit[!]
        !            37:         [line]          -1r-0ead            file
        !            38:                         -1rew-0ind[!]
        !            39:                         -1se-0t             [options]
        !            40:                         -1so-0urce          file
        !            41:         [line][,line]   -1s-0ubstitute      /regexp/replacement/[p][g][c]
        !            42:                         -1ta-0g[!]          tagname
        !            43:         [line][,line]   -1t-0o              line
        !            44:                         -1u-0ndo
        !            45:                         -1unm-0ap[!]        key
        !            46:                         -1ve-0rsion
        !            47:         [line][,line]   -1v-0global         /regexp/ command
        !            48:                         -1vi-0sual
        !            49:                         -1wq-0
        !            50:         [line][,line]   -1w-0rite[!]        [[>>]file]
        !            51:                         -1x-0it[!]
        !            52:         [line][,line]   -1y-0ank            ["x]
        !            53:         [line][,line]   -1!-0               command
        !            54:         [line][,line]   -1<-0
        !            55:         [line][,line]   -1=-0
        !            56:         [line][,line]   -1>-0
        !            57:         [line][,line]   -1&-0
        !            58:                         -1@-0               "x
        !            59: 
        !            60: 
        !            61: 
        !            62: 
        !            63: 
        !            64: 
        !            65: 
        !            66: 
        !            67: 
        !            68:      Elvis 1.4               COLON MODE COMMANDS                Page 3-2
        !            69: 
        !            70: 
        !            71:         To  use colon mode commands, you must switch from visual command
        !            72:      mode to colon command mode.  The visual mode commands  to  do  this
        !            73:      are  ":"  for  a  single  colon command, or "Q" for many colon mode
        !            74:      commands.  
        !            75: 
        !            76: 
        !            77:    E3.1  Line SpecifiersF
        !            78: 
        !            79:         Line specifiers are always optional.  The first  line  specifier
        !            80:      of most  commands usually defaults to the current line.  The second
        !            81:      line specifier usually defaults to be the same as  the  first  line
        !            82:      specifier.  Exceptions are :write, :global, and :vglobal, which act 
        !            83:      on all lines of the file by default, and :!, which acts on no lines 
        !            84:      by default.  
        !            85: 
        !            86:         Line  specifiers  consist  of  an  absolute  part and a relative
        !            87:      part.  The absolute part of a  line  specifier  may  be  either  an
        !            88:      explicit  line  number, a mark, a dot to denote the current line, a
        !            89:      dollar sign to denote the last line of the file, or  a  forward  or
        !            90:      backward search.  
        !            91: 
        !            92:         An explicit line number is simply a decimal number, expressed as 
        !            93:      a string of digits.  
        !            94: 
        !            95:         A mark is typed in as an apostrophe followed by a letter.  Marks 
        !            96:      must be  set before they can be used.  You can set a mark in visual
        !            97:      command mode by typing "m" and a letter, or you can set it in colon 
        !            98:      command mode via the "mark" command.  
        !            99: 
        !           100:         A forward search is typed in as a regular expression  surrounded
        !           101:      by slash  characters;  searching  begins  at  the  default line.  A
        !           102:      backward search is typed in as a regular expression  surrounded  by
        !           103:      question  marks;  searching  begins  at the line before the default
        !           104:      line.  
        !           105: 
        !           106:         If you omit the absolute part, then the default line is used.  
        !           107: 
        !           108:         The relative part of a line specifier is typed as a "+"  or  "-"
        !           109:      character followed  by a decimal number.  The number is added to or
        !           110:      subtracted from the absolute part of the line specifier to  produce
        !           111:      the final line number.  
        !           112: 
        !           113:         As  a  special  case, the % character may be used to specify all
        !           114:      lines of the file.  It is roughly equivelent to saying 1,$.    This
        !           115:      can be a handy shortcut.  
        !           116: 
        !           117:         Some examples: 
        !           118: 
        !           119:             :p              print the current line
        !           120:             :37p            print line 37
        !           121:             :'gp            print the line which contains mark g
        !           122:             :/foo/p         print the next line that contains "foo"
        !           123:             :$p             print the last line of the file
        !           124:             :20,30p         print lines 20 through 30
        !           125:             :1,$p           print all lines of the file
        !           126:             :%p             print all lines of the file
        !           127:             :/foo/-2,+4p    print 5 lines around the next "foo"
        !           128: 
        !           129: 
        !           130: 
        !           131: 
        !           132: 
        !           133: 
        !           134:      Elvis 1.4               COLON MODE COMMANDS                Page 3-3
        !           135: 
        !           136: 
        !           137:    E3.2  Text Entry CommandsF
        !           138: 
        !           139:             [line] append
        !           140:             [line][,line] change ["x]
        !           141:             [line] insert
        !           142: 
        !           143:         The -1a-0ppend command inserts text after the specified line.  
        !           144: 
        !           145:         The -1i-0nsert command inserts text before the specified line.  
        !           146: 
        !           147:         The  -1c-0hange command copies the range of lines into a cut buffer,
        !           148:      deletes them, and inserts new text where the old text used to be.  
        !           149: 
        !           150:         For all of these commands, you indicate  the  end  of  the  text
        !           151:      you're inserting by hitting ^D or by entering a line which contains 
        !           152:      only a period.  
        !           153: 
        !           154: 
        !           155:    E3.3  Cut & Paste CommandsF
        !           156: 
        !           157:             [line][,line] delete ["x]
        !           158:             [line][,line] yank ["x]
        !           159:             [line] put ["x]
        !           160:             [line][,line] copy line
        !           161:             [line][,line] to line
        !           162:             [line][,line] move line
        !           163: 
        !           164:         The  -1d-0elete  command  copies the specified range of lines into a
        !           165:      cut buffer, and then deletes them.  
        !           166: 
        !           167:         The -1y-0ank command copies the specified range of lines into a  cut
        !           168:      buffer, but does *not* delete them.  
        !           169: 
        !           170:         The  -1pu-0t  command  inserts  text  from  a  cut  buffer after the
        !           171:      specified line.  
        !           172: 
        !           173:         The -1co-0py and -1t-0o commands yank the specified range of  lines  and
        !           174:      then immediately paste them after some other line.  
        !           175: 
        !           176:         The  -1m-0ove  command deletes the specified range of lines and then
        !           177:      immediately pastes them after some other line.  If the  destination
        !           178:      line  comes  after  the  deleted  text,  then  it  will be adjusted
        !           179:      automatically to account for the deleted lines.  
        !           180: 
        !           181: 
        !           182:    E3.4  Display Text CommandsF
        !           183: 
        !           184:             [line][,line] print
        !           185:             [line][,line] list
        !           186:             [line][,line] number
        !           187: 
        !           188:         The -1p-0rint command displays the specified range of lines.  
        !           189: 
        !           190:         The -1nu-0mber command displays the lines, with line numbers.  
        !           191: 
        !           192: 
        !           193: 
        !           194: 
        !           195: 
        !           196: 
        !           197: 
        !           198: 
        !           199: 
        !           200:      Elvis 1.4               COLON MODE COMMANDS                Page 3-4
        !           201: 
        !           202: 
        !           203:         The -1l-0ist command also displays them, but it is careful  to  make
        !           204:      control characters visible.  
        !           205: 
        !           206: 
        !           207:    E3.5  Global Operations CommandsF
        !           208: 
        !           209:             [line][,line] global /regexp/ command
        !           210:             [line][,line] vglobal /regexp/ command
        !           211: 
        !           212:         The  -1g-0lobal  command searches through the lines of the specified
        !           213:      range (or through the whole file if  no  range  is  specified)  for
        !           214:      lines that  contain  a given regular expression.  It then moves the
        !           215:      cursor to each of these lines and runs some other command on them.  
        !           216: 
        !           217:         The -1v-0global command is similar, but it searches for  lines  that
        !           218:      -1don't-0 contain the regular expression.  
        !           219: 
        !           220: 
        !           221:    E3.6  Line Editing CommandsF
        !           222: 
        !           223:             [line][,line] join
        !           224:             [line][,line] ! program
        !           225:             [line][,line] <
        !           226:             [line][,line] >
        !           227:             [line][,line] substitute /regexp/replacement/[p][g][c]
        !           228:             [line][,line] &
        !           229: 
        !           230:         The  -1j-0oin  command  catenates  all  lines in the specified range
        !           231:      together to form one big line.  If only a single line is specified, 
        !           232:      then the following line is catenated onto it.  
        !           233: 
        !           234:         The -1!-0 command runs an external filter  program,  and  feeds  the
        !           235:      specified range  of  lines  to  it's  stdin.    The  lines are then
        !           236:      replaced by the output of the filter.  A typical example  would  be
        !           237:      ":'a,'z!sort" to sort the lines 'a,'z.  
        !           238: 
        !           239:         The  -1<-0 and -1>-0 commands shift the specified range of lines left or
        !           240:      right, normally by the width of 1 tab character.  The  "shiftwidth"
        !           241:      option determines the shifting amount.  
        !           242: 
        !           243:         The  -1s-0ubstitute  command  finds  the  regular expression in each
        !           244:      line, and replaces it with the replacement text.   The  "p"  option
        !           245:      causes the altered lines to be printed.  The "g" option permits all 
        !           246:      instances  of  the  regular  expression  to  be  found  & replaced.
        !           247:      (Without "g", only the first occurrence in each line is  replaced.)
        !           248:      The "c" option asks for confirmation before each substitution.  
        !           249: 
        !           250:         The   -1&-0  command  repeats  the  previous  substitution  command.
        !           251:      Actually, "&" is equivelent to "s//~/" with  the  same  options  as
        !           252:      last time.    It  searches for the last regular expression that you
        !           253:      specified for any purpose, and replaces it with the the  same  text
        !           254:      that was used in the previous substitution.  
        !           255: 
        !           256: 
        !           257: 
        !           258: 
        !           259: 
        !           260: 
        !           261: 
        !           262: 
        !           263: 
        !           264: 
        !           265: 
        !           266:      Elvis 1.4               COLON MODE COMMANDS                Page 3-5
        !           267: 
        !           268: 
        !           269:    E3.7  Undo CommandF
        !           270: 
        !           271:             undo
        !           272: 
        !           273:         The -1u-0ndo command restores the file to the state it was in before 
        !           274:      your most recent command which changed text.  
        !           275: 
        !           276: 
        !           277:    E3.8  Configuration & Status CommandsF
        !           278: 
        !           279:             map[!] [key mapped_to]
        !           280:             unmap[!] key
        !           281:             abbr [word expanded_form_of_word]
        !           282:             unabbr word
        !           283:             digraph[!] [XX [Y]]
        !           284:             set [options]
        !           285:             mkexrc
        !           286:             [line] mark "x
        !           287:             visual
        !           288:             version
        !           289:             [line][,line] =
        !           290:             file [file]
        !           291:             source file
        !           292:             @ "x
        !           293: 
        !           294:         The  -1ma-0p command allows you to configure Elvis to recognize your
        !           295:      function keys, and treat them as though they transmitted some other 
        !           296:      sequence of characters.  Normally this mapping is done only when in 
        !           297:      the visual command mode, but with the [!] present it will map  keys
        !           298:      under all  contexts.  When this command is given with no arguments,
        !           299:      it prints a table showing all mappings currently in effect.    When
        !           300:      called  with  two  arguments,  the  first is the sequence that your
        !           301:      function key really sends, and the second is the sequence that  you
        !           302:      want Elvis to treat it as having sent.  
        !           303: 
        !           304:         The -1unm-0ap command removes key definitions that were made via the 
        !           305:      map command.  
        !           306: 
        !           307:         The   -1ab-0br   command   is   used   to  define/list  a  table  of
        !           308:      abbreviations.  The table contains both the  abbreviated  form  and
        !           309:      the fully  spelled-out form.  When you're in visual input mode, and
        !           310:      you  type  in  the  abbreviated  form,  Elvis  will   replace   the
        !           311:      abbreviated form  with  the  fully  spelled-out  form.    When this
        !           312:      command is called without arguments, it lists the table;  with  two
        !           313:      or  more  arguments, the first argument is taken as the abbreviated
        !           314:      form, and the rest of the command line  is  the  fully-spelled  out
        !           315:      form.  
        !           316: 
        !           317:         The -1una-0bbr command deletes entries from the abbr table.  
        !           318: 
        !           319:         The  -1di-0graph  command  allows you to display the set of digraphs
        !           320:      that Elvis is using, or add/remove a digraph.  To list the  set  of
        !           321:      digraphs, use  the  digraph  command  with  no arguments.  To add a
        !           322:      digraph, you should give the digraph command two  arguments.    The
        !           323:      first argument is the two ASCII characters that are to be combined; 
        !           324:      the second  is  the  non-ASCII  character that they represent.  The
        !           325:      non-ASCII character's most significant bit is automatically set  by
        !           326:      the digraph  command,  unless  to  append a !  to the command name.
        !           327: 
        !           328: 
        !           329: 
        !           330: 
        !           331: 
        !           332:      Elvis 1.4               COLON MODE COMMANDS                Page 3-6
        !           333: 
        !           334: 
        !           335:      Removal of a digraph is similar to adding a  digraph,  except  that
        !           336:      you should leave off the second argument.  
        !           337: 
        !           338:         The -1se-0t command allows you examine or set various options.  With 
        !           339:      no  arguments,  it  displays  the  values of options that have been
        !           340:      changed.  With the single argument "all" it displays the values  of
        !           341:      all  options,  regardless of whether they've been explicitly set or
        !           342:      not.  Otherwise, the arguments are treated as options to be set.  
        !           343: 
        !           344:         The -1mk-0exrc command saves the current  configuration  to  a  file
        !           345:      called ".exrc" in the current directory.  
        !           346: 
        !           347:         The  mar-1k-0  command  defines  a named mark to refer to a specific
        !           348:      place in the file.  This mark may be used later  to  specify  lines
        !           349:      for other commands.  
        !           350: 
        !           351:         The -1vi-0sual command puts the editor into visual mode.  Instead of 
        !           352:      emulating ex, Elvis will start emulating vi.  
        !           353: 
        !           354:         The  -1ve-0rsion  command  tells you that what version of Elvis this
        !           355:      is.  
        !           356: 
        !           357:         The -1=-0 command tells you what line  you  specified,  or,  if  you
        !           358:      specified a range of lines, it will tell you both endpoints and the 
        !           359:      number of lines included in the range.  
        !           360: 
        !           361:         The  -1f-0ile command tells you the name of the file, whether it has
        !           362:      been modified, the number of lines in the  file,  and  the  current
        !           363:      line number.  You can also use it to change the name of the current 
        !           364:      file.  
        !           365: 
        !           366:         The  -1so-0urce command reads a sequence of colon mode commands from
        !           367:      a file, and interprets them.  
        !           368: 
        !           369:         The -1@-0 command executes  the  contents  of  a  cut-buffer  as  EX
        !           370:      commands.  
        !           371: 
        !           372: 
        !           373:    E3.9  Multiple File CommandsF
        !           374: 
        !           375:             args [files]
        !           376:             next[!] [files]
        !           377:             Next[!]
        !           378:             previous[!]
        !           379:             rewind[!]
        !           380: 
        !           381:         When  you  invoke  Elvis  from  your  shell's  command line, any
        !           382:      filenames that you give to Elvis as arguments  are  stored  in  the
        !           383:      args list.    The  -1ar-0gs command will display this list, or define a
        !           384:      new one.  
        !           385: 
        !           386:         The -1n-0ext command switches from the current file to the next  one
        !           387:      in the args list.  You may specify a new args list here, too.  
        !           388: 
        !           389:         The  -1N-0ext  and -1pre-0vious commands (they're really aliases for the
        !           390:      same command) switch from the current file to the preceding file in 
        !           391:      the args list.  
        !           392: 
        !           393: 
        !           394: 
        !           395: 
        !           396: 
        !           397: 
        !           398:      Elvis 1.4               COLON MODE COMMANDS                Page 3-7
        !           399: 
        !           400: 
        !           401:         The -1rew-0ind command switches from the current file to  the  first
        !           402:      file in the args list.  
        !           403: 
        !           404: 
        !           405:    E3.10  Switching FilesF
        !           406: 
        !           407:             edit[!] [file]
        !           408:             tag[!] tagname
        !           409: 
        !           410:         The  -1e-0dit command allows to switch from the current file to some
        !           411:      other file.  This has nothing to do with  the  args  list,  by  the
        !           412:      way.  
        !           413: 
        !           414:         The  -1ta-0g  command  looks  up  a  given  tagname in a file called
        !           415:      "tags".  This tells it which file the tag is in, and how to find it 
        !           416:      in that file.  Elvis then switches to the tag's file and finds  the
        !           417:      tag.  
        !           418: 
        !           419: 
        !           420:    E3.11  Working with a CompilerF
        !           421: 
        !           422:             cc [files]
        !           423:             make [target]
        !           424:             errlist[!] [errlist]
        !           425: 
        !           426:         The -1cc-0 and -1mak-0e commands execute your compiler or "make" utility 
        !           427:      and redirect  any  error messages into a file called "errlist".  By
        !           428:      default, cc is run on the current  file.    (You  should  write  it
        !           429:      before  running  cc.)  The  contents of the "errlist" file are then
        !           430:      scanned for error messages.  If an error message is found, then the 
        !           431:      cursor is moved to the line where the error was detected,  and  the
        !           432:      description of the error is displayed on the status line.  
        !           433: 
        !           434:         After  you've fixed one error, the -1er-0rlist command will move the
        !           435:      cursor to the next error.  In visual command mode, hitting `*' will 
        !           436:      do this, too.  
        !           437: 
        !           438:         You can also create an "errlist" file from outside of Elvis, and 
        !           439:      use "elvis -m" to start elvis and have  the  cursor  moved  to  the
        !           440:      first error.    Note  that you don't need to supply a filename with
        !           441:      "elvis -m" because the error messages always say which source  file
        !           442:      an error is in.  
        !           443: 
        !           444:         Note: When you use errlist repeatedly to fix several errors in a 
        !           445:      single file, it will attempt to adjust the reported line numbers to 
        !           446:      allow for   lines  that  you  have  inserted  or  deleted.    These
        !           447:      adjustments are made with the assumption that you will work  though
        !           448:      the file from the beginning to the end.  
        !           449: 
        !           450: 
        !           451:    E3.12  Exit CommandsF
        !           452: 
        !           453:             quit[!]
        !           454:             wq
        !           455:             xit
        !           456: 
        !           457: 
        !           458: 
        !           459: 
        !           460: 
        !           461: 
        !           462: 
        !           463: 
        !           464:      Elvis 1.4               COLON MODE COMMANDS                Page 3-8
        !           465: 
        !           466: 
        !           467:         The  -1q-0uit  command  exits  from  the  editor without saving your
        !           468:      file.  
        !           469: 
        !           470:         The -1wq-0 command writes your file out, then then exits.  
        !           471: 
        !           472:         The -1x-0it command is similar to the -1wq-0 command,  except  that  -1x-0it
        !           473:      won't bother to write your file if you haven't modified it.  
        !           474: 
        !           475: 
        !           476:    E3.13  File I/O CommandsF
        !           477: 
        !           478:             [line] read file
        !           479:             [line][,line] write[!] [[>>]file]
        !           480: 
        !           481:         The  -1r-0ead  command  gets  text  from another file and inserts it
        !           482:      after the specified line.   It  can  also  read  the  output  of  a
        !           483:      program;  simply  precede  the  program name by a '!' and use it in
        !           484:      place of the file name.  
        !           485: 
        !           486:         The -1w-0rite command writes the whole file, or just part of it,  to
        !           487:      some other  file.    The !, if present, will permit the lines to be
        !           488:      written even if you've set the readonly option.  If you precede the 
        !           489:      filename by >> then the lines will be appended to the file.  
        !           490: 
        !           491: 
        !           492:    E3.14  Directory CommandsF
        !           493: 
        !           494:             cd [directory]
        !           495:             chdir [directory]
        !           496:             shell
        !           497: 
        !           498:         The -1cd-0 and -1chd-0ir commands (really two  names  for  one  command)
        !           499:      switch the current working directory.  
        !           500: 
        !           501:         The -1sh-0ell command starts an interactive shell.  
        !           502: 
        !           503: 
        !           504:    E3.15  Debugging CommandsF
        !           505: 
        !           506:             [line][,line] debug[!]
        !           507:             validate[!]
        !           508: 
        !           509:         These  commands are only available if you compile Elvis with the
        !           510:      -DDEBUG flag.  
        !           511: 
        !           512:         The de-1b-0ug command lists statistics for the blocks which  contain
        !           513:      the specified range  of  lines.    If  the  !  is present, then the
        !           514:      contents of those blocks is displayed, too.  
        !           515: 
        !           516:         The -1va-0lidate  command  checks  certain  variables  for  internal
        !           517:      consistency.  Normally it doesn't output anything unless it detects 
        !           518:      a problem.    With  the  !,  though,  it will always produce *some*
        !           519:      output.  
        !           520: 
        !           521: 
        !           522: 
        !           523: 
        !           524: 
        !           525: 
        !           526: 
        !           527: 
        !           528: 

unix.superglobalmegacorp.com

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