Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought



VI(1)           DOMAIN/IX Reference Manual (SYS5)           VI(1)



NAME
     vi - full screen display editor based on ex

USAGE
     vi [-t tag][-r crashfile][-l][-wn][-R][+command] file(s)
     view [-t tag][-r crashfile][-l][-wn][+command] file(s)
     vedit [-t tag][-r crashfile][-l][-wn][-R][+command] file(s)


DESCRIPTION
     Vi (visual) is a display-oriented text editor based on the
     line editor ex(1).  You can use the command mode of ex from
     within vi and vice-versa.

     When using vi, changes you make to the file are reflected in
     what you see on your terminal screen.  The position of the
     cursor on the screen indicates your position within the
     file.  The DOMAIN/IX Text Editors Quick Reference card, the
     Introduction to Display Editing with Vi and the Ex Reference
     Manual, all of which are part of the DOMAIN/IX Text Process-
     ing Guide, provide full details on using vi.

OPTIONS
     When you invoke vi with no options, as

       vi file

     it opens file and positions the cursor at the first line.
     To quit vi, type:

       :q

     If you have modified file, vi will print a ``no write since
     last change'' message.  The command

       :wq

     writes the changed version of file, then quits vi, while the
     command

       :q!

     forces the quit without a write.

     Vi recognizes the following command line options:

     -t tag    Edit the file containing the tag and position the
               editor at its definition.

     -r crashfile
               Recover crashfile after an editor or system crash.
               If crashfile is not specified a list of all saved



Printed 1/27/86                                              VI-1





VI(1)           DOMAIN/IX Reference Manual (SYS5)           VI(1)



               files will be printed.

     -l        LISP mode; indents appropriately for LISP code,
               the () {} [[ and ]] commands in vi and open are
               modified to have meaning for LISP

     -wn       Set the default window size to n. This is useful
               when running the editor over a slow speed line.

     -R        Read only mode; the readonly flag is set, prevent-
               ing accidental overwriting of the file.

     +command  The specified ex command is interpreted before
               editing begins.

     file(s)   one or more files to be edited.

     The view invocation is the same as vi except that the
     readonly flag is set.

     The vedit invocation is intended for beginners.  In vedit,
     the report flag is set to 1, and the showmode and novice
     flags are set.  These defaults make it easier to get started
     learning the editor.

VI MODES
     Command   Normal and initial mode.  Other modes return to
               command mode upon completion.  ESC (escape) is
               used to cancel a partial command.

     Input     Entered by a i A I o O c C s S R, after which
               arbitrary text may be entered. Input mode is nor-
               mally terminated with an ESC character, or abnor-
               mally with interrupt.

     Last line Reading input for : / ? or !; terminate with
               RETURN to execute or INTerrupt to cancel.

COMMAND SUMMARY
     Sample Commands















VI-2                                              Printed 1/27/86





VI(1)           DOMAIN/IX Reference Manual (SYS5)           VI(1)



     <-  ↑ ->          arrow keys move the cursor
     h j k l           same as arrow keys
     itextESC          insert text
     cwnewESC          change word to new
     easESC            pluralize word
     x                 delete a character
     dw                delete a word
     dd                delete a line
     3dd               ... 3 lines
     u                 undo previous change
     ZZ                exit vi, saving changes
     :q!CR             quit, discarding changes
     /textCR           search for text
     ^U ^D             scroll up or down
     :ex cmdCR         any ex or ed command


     Counts Before vi Commands

     Numbers may be typed as a prefix to some commands.  They are
     interpreted in one of these ways.

     line/column number   z  G  |
     scroll amount        ^D  ^U
     repeat effect        most of the rest




     Interrupting and Canceling

      ESC       end insert or incomplete cmd
      ^?        (delete or rubout) interrupts
      ^L        reprint screen if ^? scrambles it
      ^R        reprint screen if ^L is -> key


     File Manipulation

      :wCR            write back changes
      :qCR            quit
      :q!CR           quit, discard changes
      :e nameCR       edit file name
      :e!CR           reedit, discard changes
      :e + nameCR     edit, starting at end
      :e +nCR         edit starting at line n
      :e #CR          edit alternate file
                      synonym for :e #
      :w nameCR       write file name
      :w! nameCR      overwrite file name
      :shCR           shell escape
      :!cmdCR         run cmd, then return



Printed 1/27/86                                              VI-3





VI(1)           DOMAIN/IX Reference Manual (SYS5)           VI(1)



      :nCR            edit next file in arglist
      :n argsCR       specify new arglist
      ^G              show current file and line
      :ta tagCR       to tag file entry tag
      ^]              :ta, following word is tag

     In general, any ex or ed command (such as substitute or glo-
     bal) may be typed, preceded by a colon and followed by a CR.

     Positioning Within File

      ^F          forward screen
      ^B          backward screen
      ^D          scroll down half screen
      ^U          scroll up half screen
      G           go to specified line (end default)
      /pat        next line matching pat
      ?pat        prev line matching pat
      n           repeat last / or ?
      N           reverse last / or ?
      /pat/+n     nth line after pat
      ?pat?-n      nth line before pat
      ]]          next section/function
      [[          previous section/function
      (           beginning of sentence
      )           end of sentence
      {           beginning of paragraph
      }           end of paragraph
      %           find matching ( ) { or }


     Adjusting the Screen

      ^L            clear and redraw
      ^R            retype, eliminate @ lines
      zCR           redraw, current at window top
      z-CR          ... at bottom
      z.CR          ... at center
      /pat/z-CR     pat line at bottom
      zn.CR         use n line window
      ^E            scroll window down 1 line
      ^Y            scroll window up 1 line


     Marking and Returning










VI-4                                              Printed 1/27/86





VI(1)           DOMAIN/IX Reference Manual (SYS5)           VI(1)



      ``      move cursor to previous context
      ''      ... at first non-white in line
      mx      mark current position with letter x
      `x      move cursor to mark x
      'x      ... at first non-white in line


     Line Positioning

      H          top line on screen
      L          last line on screen
      M          middle line on screen
      +          next line, at first non-white
      -          previous line, at first non-white
      CR         return, same as +
       or j      next line, same column
      ↑ or k     previous line, same column


     Character Positioning

      ^           first non-white
      0           beginning of line
      $           end of line
      h or ->     forward
      l or <-     backwards
      ^H          same as <-
      space       same as ->
      fx          find x forward
      Fx          f backward
      tx          upto x forward
      Tx          back upto x
      ;           repeat last f F t or T
      ,           inverse of ;
      |           to specified column
      %           find matching ( { ) or }


     Words, Sentences, and Paragraphs

      w       word forward
      b       back word
      e       end of word
      )       to next sentence
      }       to next paragraph
      (       back sentence
      {       back paragraph
      W       blank delimited word
      B       back W
      E       to end of W





Printed 1/27/86                                              VI-5





VI(1)           DOMAIN/IX Reference Manual (SYS5)           VI(1)



     LISP Mode

      )       Forward s-expression
      }       ... but do not stop at atoms
      (       Back s-expression
      {       ... but do not stop at atoms


     Corrections During Insert

      ^H        erase last character
      ^W        erase last word
      erase     your erase, same as ^H
      kill      your kill, erase input this line
      \         quotes ^H, your erase and kill
      ESC       ends insertion, back to command
      ^?        interrupt, terminates insert
      ^D        backtab over autoindent
      ↑^D       kill autoindent, save for next
      0^D       ... but at margin next also
      ^V        quote non-printing character


     Insert and Replace

      a            append after cursor
      i            insert before cursor
      A            append at end of line
      I            insert before first non-blank
      o            open line below
      O            open above
      rx           replace single char with x
      RtextESC     replace characters, one-for-one


     Operators

     Operators are followed by a cursor motion, and affect all
     text that would have been moved over.  For example, since w
     moves over a word, dw deletes the word that would be moved
     over.  Double the operator, e.g.  dd to affect whole lines.














VI-6                                              Printed 1/27/86





VI(1)           DOMAIN/IX Reference Manual (SYS5)           VI(1)



      d       delete
      c       change
      y       yank lines to buffer
      <       left shift
      >       right shift
      !       filter through command
      =       indent for LISP


     Miscellaneous Operations

      C       change rest of line (c$)
      D       delete rest of line (d$)
      s       substitute chars (cl)
      S       substitute lines (cc)
      J       join lines
      x       delete characters (dl)
      X       ... before cursor (dh)
      Y       yank lines (yy)


     Yank and Put

     Put inserts the text most recently deleted or yanked.  How-
     ever, if a buffer is named, the text in that buffer is put
     instead.

      p       put back text after cursor
      P       put before cursor
      "xp     put from buffer x
      "xy     yank to buffer x
      "xd     delete into buffer x


     Undo, Redo, Retrieve

      u       undo last change
      U       restore current line
      .       repeat last change
      "dp     retrieve d'th last delete


RELATED INFORMATION
     ex(1)
     DOMAIN/IX Text Processing Guide
     DOMAIN/IX Text Editors Quick Reference









Printed 1/27/86                                              VI-7



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026