Annotation of coherent/d/usr/bin/elvis/doc/options.doc, revision 1.1.1.1

1.1       root        1: 
                      2:      Elvis 1.4                     OPTIONS                      Page 5-1
                      3: 
                      4: 
                      5: E5.  OPTIONSF
                      6: 
                      7:         Options may be set or examined via the colon command "set".  The 
                      8:      values of options will affect the operation of later commands.  
                      9: 
                     10:         For convenience, options have both a long descriptive name and a 
                     11:      short name  which  is  easy  to  type.    You  may  use either name
                     12:      interchangably.  I like the short names, myself.  
                     13: 
                     14: -1long name       short   type    default         meaning                       -0
                     15: autoindent      ai      Bool    noai            auto-indent during input
                     16: autoprint       ap      Bool    ap              in EX, print the current line
                     17: autowrite       aw      Bool    noaw            auto-write when switching files
                     18: charattr        ca      Bool    noca            interpret \fX sequences?
                     19: cc              cc      Str     cc="cc -c"      name of the C compiler
                     20: columns         co      Num     co=80           width of the screen
                     21: digraph         dig     Bool    nodig           recognize digraphs?
                     22: directory       dir     Str     dir="/usr/tmp"  where tmp files are kept
                     23: edcompatible    ed      Bool    noed            remember ":s//" options
                     24: errorbells      eb      Bool    eb              ring bell on error
                     25: exrefresh       er      Bool    er              write lines indiviually in EX
                     26: flipcase        fc      Str     fc=""           non-ASCII chars flipped by ~
                     27: hideformat      hf      Bool    hf              hide text formatter commands
                     28: ignorecase      ic      Bool    noic            upper/lowercase match in search
                     29: inputmode       im      Bool    noim            start vi in insert mode?
                     30: keytime         kt      Num     kt=2            timeout for mapped key entry
                     31: keywordprg      kp      Str     kp="ref"        full pathname of shift-K prog
                     32: lines           ln      Num     ln=25           number of lines on the screen
                     33: list            li      Bool    noli            display lines in "list" mode
                     34: magic           ma      Bool    ma              use regular expression in search
                     35: make            mk      Str     mk="make"       name of the "make" program
                     36: modeline        ml      Bool    noml            are modelines processed?
                     37: paragraphs      pa      Str     pa="PPppIPLPQP" names of "paragraph" nroff cmd
                     38: readonly        ro      Bool    noro            prevent overwriting of orig file
                     39: report          re      Num     re=5            report when 5 or more changes
                     40: scroll          sc      Num     sc=12           scroll amount for ^U and ^D
                     41: sections        se      Str     se="NHSHSSSEse" names of "section" nroff cmd
                     42: shell           sh      Str     sh="/bin/sh"    full pathname of the shell
                     43: showmatch       sm      Bool    nosm            show matching ()[]{}
                     44: showmode        smd     Bool    nosmd           say when we're in input mode
                     45: shiftwidth      sw      Num     sw=8            shift amount for < and >
                     46: sidescroll      ss      Num     ss=8            amount of sideways scrolling
                     47: sync            sy      Bool    nosy            call sync() often
                     48: tabstop         ts      Num     ts=8            width of tab characters
                     49: term            te      Str     te="$TERM"      name of the termcap entry
                     50: vbell           vb      Bool    vb              use visible alternative to bell
                     51: warn            wa      Bool    wa              warn for ! if file modified
                     52: wrapmargin      wm      Num     wm=0            wrap long lines in input mode
                     53: wrapscan        ws      Bool    ws              at EOF, searches wrap to line 1
                     54: 
                     55:         There are three types of options:  Bool,  string,  and  numeric.
                     56:      Boolean  options  are made TRUE by giving the name of the option as
                     57:      an argument to the "set" command; they are made FALSE by  prefixing
                     58:      the name  with  "no".    For  example,  "set  autoindent" makes the
                     59:      autoindent option TRUE, and "set noautoindent" makes it FALSE.  
                     60: 
                     61: 
                     62: 
                     63: 
                     64: 
                     65: 
                     66: 
                     67: 
                     68:      Elvis 1.4                     OPTIONS                      Page 5-2
                     69: 
                     70: 
                     71:         To change the value of a string  or  numeric  option,  pass  the
                     72:      "set"  command  the name of the option, followed by an "=" sign and
                     73:      the option's new value.  For example, "set tabstop=8" will give the 
                     74:      tabstop option a value of 8.  For string options, you  may  enclose
                     75:      the new value in quotes.  
                     76: 
                     77: 
                     78:    E5.1  AutoIndentF
                     79: 
                     80:         During  input  mode, the autoindent option will cause each added
                     81:      line to begin with the same amount of  leading  whitespace  as  the
                     82:      line above  it.    Without  autoindent,  added  lines are initially
                     83:      empty.  
                     84: 
                     85: 
                     86:    E5.2  AutoPrintF
                     87: 
                     88:         This option only affects EX mode.  If the autoprint  option  on,
                     89:      and either the cursor has moved to a different line or the previous 
                     90:      command modified the file, then Elvis will print the current line.  
                     91: 
                     92: 
                     93:    E5.3  AutoWriteF
                     94: 
                     95:         When  you're  editing one file and decide to switch to another -
                     96:      via the :tag command, or :next command, perhaps - if  your  current
                     97:      file  has  been  modified,  then Elvis will normally print an error
                     98:      message and refuse to switch.  
                     99: 
                    100:         However, if the autowrite option is on, then  Elvis  will  write
                    101:      the modified version of the current file and successfully switch to 
                    102:      the new file.  
                    103: 
                    104: 
                    105:    E5.4  CCF
                    106: 
                    107:         The :cc  command runs the C compiler.  This option should be set
                    108:      to the name of your compiler.  
                    109: 
                    110: 
                    111:    E5.5  CharAttrF
                    112: 
                    113:         Many text formatting programs allow you to designate portions of 
                    114:      your text to be underlined, italicized, or  boldface  by  embedding
                    115:      the special  strings  \fU,  \fI, and \fB in your text.  The special
                    116:      string \fR marks the end of underlined or boldface text.  
                    117: 
                    118:         Elvis normally treats those special strings just like any  other
                    119:      text.  
                    120: 
                    121:         However, if the charattr option is on, then Elvis will interpret 
                    122:      those  special strings correctly, to display underlined or boldface
                    123:      text on the screen.  (This only works, of course, if your  terminal
                    124:      can  display underlined and boldface, and if the TERMCAP entry says
                    125:      how to do it.) 
                    126: 
                    127: 
                    128: 
                    129: 
                    130: 
                    131: 
                    132: 
                    133: 
                    134:      Elvis 1.4                     OPTIONS                      Page 5-3
                    135: 
                    136: 
                    137:    E5.6  COlumnsF
                    138: 
                    139:         This is a "read only" option.  You can't change its  value,  but
                    140:      you can have Elvis print it.  It shows how wide your screen is.  
                    141: 
                    142: 
                    143:    E5.7  DIGraphF
                    144: 
                    145:         This  option  is used to enable/disable recognition of digraphs.
                    146:      The default value is nodigraph, which means that digraphs will  not
                    147:      be recognized.  
                    148: 
                    149: 
                    150:    E5.8  DIRectoryF
                    151: 
                    152:         Elvis stores text in temporary files.  This option allows you to 
                    153:      control which  directory those temporary files will appear in.  The
                    154:      default is /usr/tmp.  
                    155: 
                    156:         This option can only be set in a .exrc file; after  that,  elvis
                    157:      will  have  already  started  making  temporary files in some other
                    158:      directory, so it would be too late.  
                    159: 
                    160: 
                    161:    E5.9  EDcompatibleF
                    162: 
                    163:         This     option     affects     the     behaviour     of     the
                    164:      ":s/regexp/text/options" command.    It  is normally off (:se noed)
                    165:      which causes all of the  substitution  options  to  be  off  unless
                    166:      explicitly given.  
                    167: 
                    168:         However, with edcompatible on (:se ed), the substitution command 
                    169:      remembers which  options  you  used  last time.  Those same options
                    170:      will continue to be used until you change them.    In  edcompatible
                    171:      mode,  when  you explicitly give the name of a substitution option,
                    172:      you will toggle the state of that option.  
                    173: 
                    174:         This all seems very strange to me, but  its  implementation  was
                    175:      almost  free  when  I added the ":&" command to repeat the previous
                    176:      substitution, so there it is.  
                    177: 
                    178: 
                    179:    E5.10  ErrorBellsF
                    180: 
                    181:         Elvis normally rings a bell when you do something wrong.    This
                    182:      option lets you disable the bell.  
                    183: 
                    184: 
                    185:    E5.11  ExRefreshF
                    186: 
                    187:         The EX  mode  of Elvis writes many lines to the screen.  You can
                    188:      make Elvis either write each line to the screen separately, or save 
                    189:      up many lines and write them all at once.  
                    190: 
                    191:         The exrefresh option is normally on, so each line is written  to
                    192:      the screen separately.  
                    193: 
                    194: 
                    195: 
                    196: 
                    197: 
                    198: 
                    199: 
                    200:      Elvis 1.4                     OPTIONS                      Page 5-4
                    201: 
                    202: 
                    203:         You  may wish to turn the exrefresh option off (:se noer) if the
                    204:      "write" system call is costly on your machine, or if you're using a 
                    205:      windowing environment.  (Windowing environments scroll text  a  lot
                    206:      faster when you write many lines at once.) 
                    207: 
                    208:         This option has no effect in visual command mode or input mode.  
                    209: 
                    210: 
                    211:    E5.12  FlipCaseF
                    212: 
                    213:         The  flipcase  option  allows  you  to control how the non-ASCII
                    214:      characters are altered by the "~" command.  
                    215: 
                    216:         The string is divided into pairs of characters.    When  "~"  is
                    217:      applied  to  a non-ASCII character, Elvis looks up the character in
                    218:      the flipcase string to see which pair it's in, and replaces  it  by
                    219:      the other character of the pair.  
                    220: 
                    221: 
                    222:    E5.13  HideFormatF
                    223: 
                    224:         Many  text  formatters  require  you to embed format commands in
                    225:      your text, on lines  that  start  with  a  "."  character.    Elvis
                    226:      normally  displays  these  lines  like  any  other text, but if the
                    227:      hideformat option is on, then format lines are displayed  as  blank
                    228:      lines.  
                    229: 
                    230: 
                    231:    E5.14  IgnoreCaseF
                    232: 
                    233:         Normally,  when  Elvis  searches  for  text, it treats uppercase
                    234:      letters as being different for lowercase letters.  
                    235: 
                    236:         When the ignorecase option is on, uppercase  and  lowercase  are
                    237:      treated as equal.  
                    238: 
                    239: 
                    240:    E5.15  InputModeF
                    241: 
                    242:         This  option  allows  you to have Elvis start up in insert mode.
                    243:      You can still exit insert mode at any time by hitting the ESC  key,
                    244:      as usual.  Usually, this option would be set in your ".exrc" file.  
                    245: 
                    246: 
                    247:    E5.16  KeyTimeF
                    248: 
                    249:         The   arrow  keys  of  most  terminals  send  a  multi-character
                    250:      sequence.  It takes a measurable amount of time for these sequences 
                    251:      to be transmitted.  The keytime option allows you  to  control  the
                    252:      maximum  amount  of time to allow for an arrow key (or other mapped
                    253:      key) to be received in full.  
                    254: 
                    255:         The default keytime value  is  2.    Because  of  the  way  UNIX
                    256:      timekeeping  works,  the  actual  amount  of time allowed will vary
                    257:      slightly, but it will always be between 1 and 2 seconds.  
                    258: 
                    259: 
                    260: 
                    261: 
                    262: 
                    263: 
                    264: 
                    265: 
                    266:      Elvis 1.4                     OPTIONS                      Page 5-5
                    267: 
                    268: 
                    269:         If you set keytime to 1, then the actual amount of time  allowed
                    270:      will be  between  0  and  1  second.   This will generally make the
                    271:      keyboard's response be a little faster (mostly for  the  ESC  key),
                    272:      but  on those occasions where the time allowed happens to be closer
                    273:      to 0 than 1 second, Elvis may fail to  allow  enough  time  for  an
                    274:      arrow key's sequence to be received fully.  Ugh.  
                    275: 
                    276:         As a special case, you can set keytime to 0 to disable this time 
                    277:      limit stuff  altogether.    The  big problem here is: If your arrow
                    278:      keys' sequences start with an ESC, then every time you hit your ESC 
                    279:      key Elvis will wait...  and wait...  to see if maybe that  ESC  was
                    280:      part of an arrow key's sequence.  
                    281: 
                    282:         NOTE:  this  option is a generalization of the timeout option of
                    283:      the real vi.  
                    284: 
                    285: 
                    286:    E5.17  KeywordPrgF
                    287: 
                    288:         Elvis has a special keyword lookup feature.  You move the cursor 
                    289:      onto a word, and hit shift-K, and Elvis  uses  another  program  to
                    290:      look up the word and display information about it.  
                    291: 
                    292:         This option says which program gets run.  
                    293: 
                    294:         The  default  value  of this option is "ref", which is a program
                    295:      that looks up the definition of a function in C.  It looks  up  the
                    296:      function name in a file called "refs" which is created by ctags.  
                    297: 
                    298:         You  can subtitute other programs, such as an English dictionary
                    299:      program or the online manual.  Elvis runs the  program,  using  the
                    300:      keyword as its only argument.  The program should write information 
                    301:      to stdout.   The program's exit status should be 0, unless you want
                    302:      Elvis to print "<<< failed >>>".  
                    303: 
                    304: 
                    305:    E5.18  LiNesF
                    306: 
                    307:         This "read only" option shows how many lines you screen has.  
                    308: 
                    309: 
                    310:    E5.19  LIstF
                    311: 
                    312:         In nolist mode (the default), elvis displays text in a  "normal"
                    313:      manner  --  with  tabs expanded to an appropriate number of spaces,
                    314:      etc.  
                    315: 
                    316:         However, sometimes it is useful to have tab characters displayed 
                    317:      differently.  In list mode, tabs are displayed as "^I", and  a  "$"
                    318:      is displayed at the end of each line.  
                    319: 
                    320: 
                    321: 
                    322: 
                    323: 
                    324: 
                    325: 
                    326: 
                    327: 
                    328: 
                    329: 
                    330: 
                    331: 
                    332:      Elvis 1.4                     OPTIONS                      Page 5-6
                    333: 
                    334: 
                    335:    E5.20  MAgicF
                    336: 
                    337:         The  search  mechanism in Elvis can accept "regular expressions"
                    338:      -- strings in which certain characters have special meaning.  
                    339: 
                    340:         The magic option is normally on, which causes  these  characters
                    341:      to be treated specially.  
                    342: 
                    343:         If you turn the magic option off (:se noma), then all characters 
                    344:      except ^ and $ are treated literally.  ^ and $ retain their special 
                    345:      meanings regardless of the setting of magic.  
                    346: 
                    347: 
                    348:    E5.21  MaKeF
                    349: 
                    350:         The :make command runs your "make" program.  This option defines 
                    351:      the name of your "make" program.  
                    352: 
                    353: 
                    354:    E5.22  ModeLineF
                    355: 
                    356:         Elvis supports   modelines.     Modelines  are  lines  near  the
                    357:      beginning or end of your text file which contain "ex:yowza:", where 
                    358:      "yowza" is any EX command.  A typical "yowza"  would  be  something
                    359:      like "set ts=4 ca kp=spell".  
                    360: 
                    361:         Normally  these  lines are ignored, for security reasons, but if
                    362:      you have  "set  modeline"  in  your  .exrc  file  then  "yowza"  is
                    363:      executed.  
                    364: 
                    365: 
                    366:    E5.23  PAragraphsF
                    367: 
                    368:         The  {  and  }  commands  move the cursor forward or backward in
                    369:      increments of one paragraph.  Paragraphs may be separated by  blank
                    370:      lines, or  by  a "dot" command of a text formatter.  Different text
                    371:      formatters use different "dot" commands.  This option allows you to 
                    372:      configure Elvis to work with your text formatter.  
                    373: 
                    374:         It is assumed that your formatter uses commands that start  with
                    375:      a  "."  character  at  the front of a line, and then have a one- or
                    376:      two-character command name.  
                    377: 
                    378:         The value of the paragraphs option is a  string  in  which  each
                    379:      pair  of  characters  is one possible form of your text formatter's
                    380:      paragraph command.  
                    381: 
                    382: 
                    383:    E5.24  ReadOnlyF
                    384: 
                    385:         Normally, Elvis will let you write back any file  to  which  you
                    386:      have write  permission.    If you don't have write permission, then
                    387:      you can only write the changed version of the file to  a  -1different-0
                    388:      file.  
                    389: 
                    390: 
                    391: 
                    392: 
                    393: 
                    394: 
                    395: 
                    396: 
                    397: 
                    398:      Elvis 1.4                     OPTIONS                      Page 5-7
                    399: 
                    400: 
                    401:         If  you  set  the  readonly  option, then Elvis will pretend you
                    402:      don't have write permission to -1any-0 file you edit.    It  is  useful
                    403:      when  you  really  only mean to use Elvis to look at a file, not to
                    404:      change it.  This way you can't change it accidentally.  
                    405: 
                    406:         This option is normally off, unless you use the "view" alias  of
                    407:      Elvis.  "View" is like "vi" except that the readonly option is on.  
                    408: 
                    409: 
                    410:    E5.25  REportF
                    411: 
                    412:         Commands in  Elvis  may  affect  many  lines.  For commands that
                    413:      affect a lot of lines, Elvis will output a message saying what  was
                    414:      done and  how  many lines were affected.  This option allows you to
                    415:      define what "a lot of lines" means.   The  default  is  5,  so  any
                    416:      command  which  affects  5 or more lines will cause a message to be
                    417:      shown.  
                    418: 
                    419: 
                    420:    E5.26  SCrollF
                    421: 
                    422:         The ^U and ^D keys normally scroll backward or forward by half a 
                    423:      screenful, but this is adjustable.  The value of this  option  says
                    424:      how many lines those keys should scroll by.  
                    425: 
                    426: 
                    427:    E5.27  SEctionsF
                    428: 
                    429:         The  [[  and  ]] commands move the cursor backward or forward in
                    430:      increments of 1  section.    Sections  may  be  delimited  by  a  {
                    431:      character  in  column  1  (which is useful for C source code) or by
                    432:      means of a text formatter's "dot" commands.  
                    433: 
                    434:         This option allows you to configure Elvis to work with your text 
                    435:      formatter's "section" command, in exectly the  same  way  that  the
                    436:      paragraphs  option  makes it work with the formatter's "paragraphs"
                    437:      command.  
                    438: 
                    439: 
                    440:    E5.28  SHellF
                    441: 
                    442:         When Elvis forks  a  shell  (perhaps  for  the  :!    or  :shell
                    443:      commands) this  is  the  program  that is uses as a shell.  This is
                    444:      "/bin/sh" by default, unless you have set the  SHELL  (or  COMSPEC,
                    445:      for  MS-DOS)  environment variable, it which case the default value
                    446:      is copied from the environment.  
                    447: 
                    448: 
                    449:    E5.29  ShiftWidthF
                    450: 
                    451:         The < and > commands shift text left or right  by  some  uniform
                    452:      number of  columns.    The  shiftwidth option defines that "uniform
                    453:      number".  The default is 8.  
                    454: 
                    455: 
                    456: 
                    457: 
                    458: 
                    459: 
                    460: 
                    461: 
                    462: 
                    463: 
                    464:      Elvis 1.4                     OPTIONS                      Page 5-8
                    465: 
                    466: 
                    467:    E5.30  ShowMatchF
                    468: 
                    469:         With showmatch set, in input mode every time you hit one of )}], 
                    470:      Elvis will momentarily move the cursor to the matching ({[.  
                    471: 
                    472: 
                    473:    E5.31  ShowMoDeF
                    474: 
                    475:         In visual mode, it is easy  to  forget  whether  you're  in  the
                    476:      visual command  mode or input/replace mode.  Normally, the showmode
                    477:      option is off, and you haven't a clue as to which mode  you're  in.
                    478:      If  you  turn the showmode option on, though, a little message will
                    479:      appear in the lower right-hand corner of your screen,  telling  you
                    480:      which mode you're in.  
                    481: 
                    482: 
                    483:    E5.32  SideScrollF
                    484: 
                    485:         For long lines, Elvis scrolls sideways.  (This is different from 
                    486:      the  real  vi,  which wraps a single long line onto several rows of
                    487:      the screen.) 
                    488: 
                    489:         To minimize the number of scrolls needed, Elvis moves the screen 
                    490:      sideways by several characters at a time.  The value of this option 
                    491:      says how many characters' widths to scroll at a time.  
                    492: 
                    493:         Generally, the faster your screen can be redrawn, the lower  the
                    494:      value you will want in this option.  
                    495: 
                    496: 
                    497:    E5.33  SYncF
                    498: 
                    499:         If  the system crashes during an edit session, then most of your
                    500:      work can be recovered from the temporary file that  elvis  uses  to
                    501:      store changes.   However, sometimes the OS will not copy changes to
                    502:      the hard disk immediately, so recovery might not be possible.   The
                    503:      [no]sync option lets you control this.  
                    504: 
                    505:         In  nosync mode (which is the default, for UNIX), elvis lets the
                    506:      operating system control when data is written to the disk.  This is 
                    507:      generally faster.  
                    508: 
                    509:         In sync mode (which is the default, for  MS-DOS),  elvis  forces
                    510:      all changes  out  to  disk  every  time you make a change.  This is
                    511:      generally safer, but slower.  It can also be a rather rude thing to 
                    512:      do on a multi-user system.  
                    513: 
                    514: 
                    515:    E5.34  TabStopF
                    516: 
                    517:         Tab characters are normally  8  characters  wide,  but  you  can
                    518:      change their widths by means of this option.  
                    519: 
                    520: 
                    521: 
                    522: 
                    523: 
                    524: 
                    525: 
                    526: 
                    527: 
                    528: 
                    529: 
                    530:      Elvis 1.4                     OPTIONS                      Page 5-9
                    531: 
                    532: 
                    533:    E5.35  TErmF
                    534: 
                    535:         This "read only" option shows the name of the termcap entry that 
                    536:      Elvis is using for your terminal.  
                    537: 
                    538: 
                    539:    E5.36  VBellF
                    540: 
                    541:         If your termcap entry describes a visible alternative to ringing 
                    542:      your terminal's bell, then this option will say whether the visible 
                    543:      version gets used or not.  Normally it will be.  
                    544: 
                    545:         If your termcap does NOT include a visible bell capability, then 
                    546:      the vbell option will be off, and you can't turn it on.  
                    547: 
                    548: 
                    549:    E5.37  WArnF
                    550: 
                    551:         If you have modified a file but not yet written it back to disk, 
                    552:      then Elvis will normally print a warning before executing a ":!cmd" 
                    553:      command.  However, in nowarn mode, this warning is not given.  
                    554: 
                    555:         Elvis  also  normally prints a message after a successful search
                    556:      that wrapped at EOF.  The [no]warn option  can  also  disable  this
                    557:      warning.  
                    558: 
                    559: 
                    560:    E5.38  WrapMarginF
                    561: 
                    562:         Normally   (with  wrapmargin=0)  Elvis  will  let  you  type  in
                    563:      extremely long lines, if you wish.  
                    564: 
                    565:         However,  with  warpmargin  set  to  something  other   that   0
                    566:      (wrapmargin=10  is nice), Elvis will automatically cause long lines
                    567:      to be "wrapped" on a word break for lines longer than  wrapmargin's
                    568:      setting.  
                    569: 
                    570: 
                    571:    E5.39  WrapScanF
                    572: 
                    573:         Normally,  when  you search for something, Elvis will find it no
                    574:      matter where it is in  the  file.    Elvis  starts  at  the  cursor
                    575:      position, and  searches forward.  If Elvis hits EOF without finding
                    576:      what you're looking for, then it wraps around to continue searching 
                    577:      from line 1.  
                    578: 
                    579:         If you turn off the wrapscan option (:se nows), then when  Elvis
                    580:      hits EOF during a search, it will stop and say so.  
                    581: 
                    582: 
                    583: 
                    584: 
                    585: 
                    586: 
                    587: 
                    588: 
                    589: 
                    590: 
                    591: 
                    592: 
                    593: 
                    594: 

unix.superglobalmegacorp.com

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