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

1.1       root        1: 
                      2:      Elvis 1.4              VISUAL MODE COMMANDS                Page 2-1
                      3: 
                      4: 
                      5: E2.  VISUAL MODE COMMANDSF
                      6: 
                      7:         Most visual mode commands are one keystroke long.  The following 
                      8:      table  lists  the  operation  performed by each keystroke, and also
                      9:      denotes any options or arguments that it accepts.  Notes at the end 
                     10:      of the table describe the notation used in this table.  
                     11: 
                     12:         In addition to the keys listed  here,  your  keyboard's  "arrow"
                     13:      keys  will  be  interpretted  as  the  appropriate  cursor movement
                     14:      commands.  The same goes for <PgUp> and <PgDn>,  if  your  keyboard
                     15:      has them.    There  is a colon mode command (to be described later)
                     16:      which will allow you to define other keys, such as function keys.  
                     17: 
                     18:         A tip: visual command mode looks a lot like text input mode.  If 
                     19:      you forget which mode you're in, just hit the <Esc> key.  If  elvis
                     20:      beeps, then you're in visual command mode.  If elvis does not beep, 
                     21:      then  you  were  in  input mode, but by hitting <Esc> you will have
                     22:      switched to visual command mode.  So, one  way  or  another,  after
                     23:      <Esc> elvis will be ready for a command.  
                     24: 
                     25: -1command         description                                             type-0
                     26:         ^A      ---
                     27:         ^B      Move toward the top of the file by 1 screenful
                     28:         ^C      ---
                     29: count   ^D      scroll down <count> lines (default 1/2 screen)
                     30: count   ^E      scroll up <count> lines
                     31:         ^F      move toward the bottom of the file by 1 screenful
                     32:         ^G      show file status, and the current line #
                     33: count   ^H      move left, like h                                       MOVE
                     34:         ^I      ---
                     35: count   ^J      move down                                               MOVE
                     36:         ^K      ---
                     37:         ^L      redraw the screen
                     38: count   ^M      move to the front of the next line                      MOVE
                     39: count   ^N      move down                                               MOVE
                     40:         ^O      ---
                     41: count   ^P      move up                                                 MOVE
                     42:         ^Q      ---
                     43:         ^R      redraw the screen
                     44:         ^S      ---
                     45:         ^T      ---
                     46: count   ^U      scroll up <count> lines (default 1/2 screen)
                     47:         ^V      ---
                     48:         ^W      ---
                     49:         ^X      ---
                     50: count   ^Y      scroll down <count> lines
                     51:         ^Z      ---
                     52:         ESC     ---
                     53:         ^\      ---
                     54:         ^]      if the cursor is on a tag name, go to that tag
                     55:         ^^      switch to the previous file, like ":e #"
                     56:         ^_      ---
                     57: count   SPC     move right,like l                                       MOVE
                     58:          ! mv   run the selected lines thru an external filter program
                     59:          " key  select which cut buffer to use next
                     60: count    # +    increment a number                                      EDIT
                     61:          $      move to the rear of the current line                    MOVE
                     62:          %      move to the matching (){}[] character                   MOVE
                     63: 
                     64: 
                     65: 
                     66: 
                     67: 
                     68:      Elvis 1.4              VISUAL MODE COMMANDS                Page 2-2
                     69: 
                     70: 
                     71: count    &      repeat the previous ":s//" command here                 EDIT
                     72:          ' key  move to a marked line                                   MOVE
                     73: count    (      move backward <count> sentences                         MOVE
                     74: count    )      move forward <count> sentences                          MOVE
                     75:          *      go to the next error in the errlist
                     76: count    +      move to the front of the next line                      MOVE
                     77: count    ,      repeat the previous [fFtT] but in the other direction   MOVE
                     78: count    -      move to the front of the preceding line                 MOVE
                     79: count    .      repeat the previous "edit" command
                     80:          / text search forward for a given regular expression           MOVE
                     81:          0      if not part of count, move to 1st char of this line     MOVE
                     82:          1      part of count
                     83:          2      part of count
                     84:          3      part of count
                     85:          4      part of count
                     86:          5      part of count
                     87:          6      part of count
                     88:          7      part of count
                     89:          8      part of count
                     90:          9      part of count
                     91:          : text run single EX cmd
                     92: count    ;      repeat the previous [fFtT] cmd                          MOVE
                     93:          < mv   shift text left                                         EDIT
                     94:          =      ---
                     95:          > mv   shift text right                                        EDIT
                     96:          ? text search backward for a given regular expression          MOVE
                     97:          @ key  execute the contents of a cut-buffer as VI commands
                     98: count    A inp  append at end of the line                               EDIT
                     99: count    B      move back Word                                          MOVE
                    100:          C inp  change text from the cursor through the end of the line EDIT
                    101:          D      delete text from the cursor through the end of the line EDIT
                    102: count    E      move end of Word                                        MOVE
                    103: count    F key  move leftward to a given character                      MOVE
                    104: count    G      move to line #<count> (default is the bottom line)      MOVE
                    105: count    H      move to home row (the line at the top of the screen)
                    106: count    I inp  insert at the front of the line (after indents)         EDIT
                    107: count    J      join lines, to form one big line                        EDIT
                    108:          K      look up keyword
                    109: count    L      move to last row (the line at the bottom of the screen)
                    110:          M      move to middle row
                    111:          N      repeat previous search, but in the opposite direction   MOVE
                    112: count    O inp  open up a new line above the current line               EDIT
                    113:          P      paste text before the cursor
                    114:          Q      quit to EX mode
                    115:          R inp  overtype                                                EDIT
                    116: count    S inp  change lines, like <count>cc
                    117: count    T key  move leftward *almost* to a given character             MOVE
                    118:          U      Undo all recent changes to the current line
                    119:          V      ---
                    120: count    W      move forward <count> Words                              MOVE
                    121: count    X      delete the character(s) to the left of the cursor       EDIT
                    122: count    Y      yank text line(s) (copy them into a cut buffer)
                    123:          Z Z    save the file & exit
                    124:          [ [    move back 1 section                                     MOVE
                    125:          \      ---
                    126:          ] ]    move forward 1 section                                  MOVE
                    127:          ^      move to the front of the current line (after indent)    MOVE
                    128:          _      ---
                    129: 
                    130: 
                    131: 
                    132: 
                    133: 
                    134:      Elvis 1.4              VISUAL MODE COMMANDS                Page 2-3
                    135: 
                    136: 
                    137:          ` key  move to a marked character                              MOVE
                    138: count    a inp  insert text after the cursor                            EDIT
                    139: count    b      move back <count> words                                 MOVE
                    140:          c mv   change text                                             EDIT
                    141:          d mv   delete text                                             EDIT
                    142: count    e      move forward to the end of the current word             MOVE
                    143: count    f key  move rightward to a given character                     MOVE
                    144:          g      ---
                    145: count    h      move left                                               MOVE
                    146: count    i inp  insert text at the cursor                               EDIT
                    147: count    j      move down                                               MOVE
                    148: count    k      move up                                                 MOVE
                    149: count    l      move right                                              MOVE
                    150:          m key  mark a line or character
                    151:          n      repeat the previous search                              MOVE
                    152: count    o inp  open a new line below the current line                  EDIT
                    153:          p      paste text after the cursor
                    154:          q      ---
                    155: count    r key  replace <count> chars by a given character              EDIT
                    156: count    s inp  replace <count> chars with text from the user           EDIT
                    157: count    t key  move rightward *almost* to a given character            MOVE
                    158:          u      undo the previous edit command
                    159:          v      ---
                    160: count    w      move forward <count> words                              MOVE
                    161: count    x      delete the character that the cursor's on               EDIT
                    162:          y mv   yank text (copy it into a cut buffer)
                    163:          z key  scroll current line to the screen's +=top -=bottom .=middle
                    164: count    {      move back <count> paragraphs                            MOVE
                    165: count    |      move to column <count> (the leftmost column is 1)
                    166: count    }      move forward <count> paragraphs                         MOVE
                    167: count    ~      switch a character between uppercase & lowercase        EDIT
                    168:         DEL     ---
                    169: --------------------------------------------------------------------------------
                    170: 
                    171: count   Many commands may be preceded by a count.  This is a sequence of digits
                    172:         representing a decimal number.  For most commands that use a count,
                    173:         the command is repeated <count> times.  The count is always optional,
                    174:         and usually defaults to 1.
                    175: 
                    176: key     Some commands require two keystrokes.  The first key always determines
                    177:         which command is to be executed.  The second key is used as a parameter
                    178:         to the command.
                    179: 
                    180: mv      Six commands (! < > c d y) operate on text between the cursor and some
                    181:         other position.  To specify that other position, you are expected to
                    182:         follow the command keystroke with a movement command.  Also, you may
                    183:         have the command operate on the whole line that the cursor is on by
                    184:         typing the command key a second time.
                    185: 
                    186: inp     Many commands allow the user to interactively enter text.
                    187: 
                    188: EDIT    These commands affect text, and may be repeated by the "." command.
                    189: 
                    190: MOVE    These commands move the cursor, and may be used to specify the extent
                    191:         of a member of the "mv" class of commands.
                    192: 
                    193: 
                    194: 
                    195: 
                    196: 
                    197: 
                    198: 
                    199: 
                    200:      Elvis 1.4              VISUAL MODE COMMANDS                Page 2-4
                    201: 
                    202: 
                    203:    E2.1  Input ModeF
                    204: 
                    205:         You  can't type text into your file directly from visual command
                    206:      mode.  Instead, you must first give a command which  will  put  you
                    207:      into input mode.  The commands to do this are A/C/I/O/R/S/a/i/o/s.  
                    208: 
                    209:         The  S/s/C/c  commands  temporarily  place a $ at the end of the
                    210:      text that they are going to change.  
                    211: 
                    212:         In input mode, all keystrokes are inserted into the text at  the
                    213:      cursor's position, except for the following: 
                    214: 
                    215:                 ^A      insert a copy of the last input text
                    216:                 ^D      delete one indent character
                    217:                 ^H      (backspace) erase the character before the cursor
                    218:                 ^L      redraw the screen
                    219:                 ^M      (carriage return) insert a newline (^J, linefeed)
                    220:                 ^P      insert the contents of the cut buffer
                    221:                 ^R      redraw the screen, like ^L
                    222:                 ^T      insert an indent character
                    223:                 ^U      backspace to the beginning of the line
                    224:                 ^V      insert the following keystroke, even if special
                    225:                 ^W      backspace to the beginning of the current word
                    226:                 ^Z^Z    write the file & exit elvis
                    227:                 ^[      (ESCape) exit from input mode, back to command mode
                    228: 
                    229:         Also,  on  some  systems,  ^S  may  stop  output, ^Q may restart
                    230:      output, and ^C may interupt execution.    ^@  (the  NUL  character)
                    231:      cannot be inserted.  
                    232: 
                    233:         The  R  visual  command  puts  you  in overtype mode, which is a
                    234:      slightly different form of input mode.  In overtype mode, each time 
                    235:      you insert a character, one of the old characters is  deleted  from
                    236:      the file.  
                    237: 
                    238: 
                    239:    E2.2  Arrow keys in Input ModeF
                    240: 
                    241:         The  arrow  keys  can  be used to move the cursor in input mode.
                    242:      (This is an extension; the real Vi doesn't support  arrow  keys  in
                    243:      input  mode.)  The  <PgUp>,  <PgDn>, <Home>, and <End> keys work in
                    244:      input mode, too.  The <Delete> key deletes a  single  character  in
                    245:      input mode.  
                    246: 
                    247:         The  best  thing about allowing arrow keys to work in input mode
                    248:      is that as long as you're in input mode,  Elvis  seems  to  have  a
                    249:      fairly ordinary  user interface.  With most other text editors, you
                    250:      are always in either insert mode or replace mode, and you  can  use
                    251:      the arrow  keys at any time to move the cursor.  Now, Elvis can act
                    252:      like that, too.  In fact, with the new "inputmode" option  and  the
                    253:      "control-Z  control-Z" input command, you may never have to go into
                    254:      visual command mode for simple edit sessions.  
                    255: 
                    256: 
                    257: 
                    258: 
                    259: 
                    260: 
                    261: 
                    262: 
                    263: 
                    264: 
                    265: 
                    266:      Elvis 1.4              VISUAL MODE COMMANDS                Page 2-5
                    267: 
                    268: 
                    269:    E2.3  DigraphsF
                    270: 
                    271:         Elvis supports digraphs as a way to enter non-ASCII  characters.
                    272:      A   digraph   is  a  character  which  is  composed  of  two  other
                    273:      characters.  For example, an apostrophe and the letter i  could  be
                    274:      defined  as  a  digraph  which  is  to  be stored & displayed as an
                    275:      accented i.  
                    276: 
                    277:         There is no single standard for extended ASCII  character  sets.
                    278:      Elvis  can  be compiled to fill the digraph with values appropriate
                    279:      for either the IBM PC character set, or the LATIN-1  character  set
                    280:      used by  X windows, or neither.  (See the discussions of -DCS_IBMPC
                    281:      and -DCS_LATIN1 in the CFLAGS section of this manual.) You can view 
                    282:      or edit the digraph table via the ":digraph" colon command.  
                    283: 
                    284:         Digraphs wil  not  be  recognized  until  you've  entered  ":set
                    285:      digraph".  
                    286: 
                    287:         To  actually  use  a  digraph type the first character, then hit
                    288:      <Backspace>, and then type the second character.  Elvis  will  then
                    289:      substitute the non-ASCII character in their place.  
                    290: 
                    291: 
                    292:    E2.4  AbbreviationsF
                    293: 
                    294:         Elvis can   expand   abbreviations  for  you.    You  define  an
                    295:      abbreviation with the :abbr command, and then whenever you type  in
                    296:      the  abbreviated  form  while in input mode, elvis will immediately
                    297:      the long form.  COBOL programmers should find this useful.  :-) 
                    298: 
                    299:         Elvis  doesn't  perform  the  substitution  until  you  type   a
                    300:      non-alphanumeric character  to  mark  the  end of the word.  If you
                    301:      type a control-V before that non-alphanumeric character, then Elvis 
                    302:      will not perform the substitution.  
                    303: 
                    304: 
                    305:    E2.5  Auto-IndentF
                    306: 
                    307:         With  the  ":set  autoindent"  option  turned  on,  Elvis   will
                    308:      automatically  insert  leading  whitespace at the beginning of each
                    309:      new line that you type in.  The leading whitespace is  copied  from
                    310:      the preceding line.  
                    311: 
                    312:         To add  more leading whitespace, type control-T.  To remove some
                    313:      whitespace, type control-D.  
                    314: 
                    315:         Elvis' autoindent mode isn't 100%  compatible  with  vi's.    In
                    316:      Elvis, 0^D and ^^D don't work, ^U can wipeout all indentation,  and 
                    317:      sometimes  Elvis will use a different amount of indentation than vi
                    318:      would.  
                    319: 
                    320: 
                    321: 
                    322: 
                    323: 
                    324: 
                    325: 
                    326: 
                    327: 
                    328: 
                    329: 
                    330: 

unix.superglobalmegacorp.com

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