Annotation of researchv10dc/man/adm/man1/vi.1, revision 1.1

1.1     ! root        1: .TH VI 1
        !             2: .CT 1 editor
        !             3: .SH NAME
        !             4: ex, edit, vi \- text editor
        !             5: .SH SYNOPSIS
        !             6: .B ex
        !             7: [
        !             8: .I option ...
        !             9: ]
        !            10: .I file ...
        !            11: .PP
        !            12: .B edit
        !            13: [
        !            14: .I option ...
        !            15: ]
        !            16: .I file ...
        !            17: .PP
        !            18: .B vi
        !            19: [
        !            20: .I option ...
        !            21: ]
        !            22: .I file ...
        !            23: .SH DESCRIPTION
        !            24: .I Ex
        !            25: is elaborated from
        !            26: .IR ed (1).
        !            27: .I Vi
        !            28: is the display editing aspect of
        !            29: .IR ex ;
        !            30: .I edit
        !            31: is a simplified subset of
        !            32: .IR ex .
        !            33: The editors work on several
        !            34: .I files
        !            35: simultaneously.
        !            36: .I Vi
        !            37: gets the terminal type from environment variable
        !            38: .BR TERM .
        !            39: .PP
        !            40: The options are:
        !            41: .TP
        !            42: .BI -r " file
        !            43: Recover the
        !            44: .I file
        !            45: after a crash in the editor.
        !            46: If no file is specified, list all saved files.
        !            47: .TP
        !            48: .B -l
        !            49: Lisp indent mode; give special meaning to editor commands
        !            50: .BR ()[]{} .
        !            51: .TP
        !            52: .BI -w n
        !            53: Default window size is
        !            54: .I n
        !            55: lines.
        !            56: .TP
        !            57: .B -x
        !            58: Edit encrypted files; a key will be prompted for.
        !            59: .TP
        !            60: .B -R
        !            61: Read only; no files will be changed.
        !            62: .TP
        !            63: .BI + cmd
        !            64: Execute the specified
        !            65: .I ex
        !            66: command upon entering the editor.
        !            67: .PP
        !            68: The editors begin in `command mode'. 
        !            69: An
        !            70: .SM ESC
        !            71: character typed in command mode cancels the command.
        !            72: The commands
        !            73: .B
        !            74: a A c C i I o O R s S
        !            75: enter input mode, where arbitrary text may be entered.
        !            76: .SM ESC
        !            77: or interrupt returns to command mode.
        !            78: The commands
        !            79: .B
        !            80: : / ? !
        !            81: take input from the last line of the screen, which is
        !            82: ended by a newline, or canceled by an interrupt.
        !            83: .PP
        !            84: A number preceding commands 
        !            85: .B z G |
        !            86: specifies a line.
        !            87: A number before almost any other command causes it
        !            88: to be repeated.
        !            89: .PP
        !            90: In the following summary of
        !            91: .I vi
        !            92: commands
        !            93: .B ^
        !            94: means the `control' key.
        !            95: Commands so marked work in input mode;
        !            96: others work in command mode.
        !            97: .PP
        !            98: .de fq
        !            99: \&\f5\\$1\fR   \\$2 \\$3 \\$4 \\$5 \\$6
        !           100: ..
        !           101: .de fz
        !           102: \&\f5\\$1 \fI\\$2\fR   \\$3 \\$4 \\$5 \\$6
        !           103: ..
        !           104: .ta \w'\f5:e + file'u
        !           105: File manipulation
        !           106: .2C
        !           107: .fq :w write back changes
        !           108: .fz :w  file write \fIfile\fR
        !           109: .fz :w!  file overwrite \fIfile\fR
        !           110: .fq :q quit
        !           111: .fq :q! quit, discarding changes
        !           112: .fz :e file edit \fIfile\fR
        !           113: .fq :e! reedit, discarding changes
        !           114: .fq ":e\ +" file edit, starting at end
        !           115: .fz ":e\ +"  starting at line \fIn\fP
        !           116: .fq :sh run shell, then return
        !           117: .fz :! cmd run shell command
        !           118: .fq :n edit next \fIfile\fR argument
        !           119: .fz : ex-cmd do editor command
        !           120: .1C
        !           121: .PP
        !           122: Positioning in file
        !           123: .2C
        !           124: .fq ^F forward screen
        !           125: .fq ^B backward screen
        !           126: .fq ^D down half screen
        !           127: .fq ^U up half screen
        !           128: .fq G "to specified line (end default)
        !           129: .fz / pat next line matching \fIpat\fR
        !           130: .fz ? pat previous line matching
        !           131: .fq n repeat last "\f5\e  or  ?\fP
        !           132: .fz /\fIpat\fP/\o'+_' n "\fIn\fRth line after or before \fIpat\fR
        !           133: .fq ( beginning of sentence
        !           134: .fq ) end of sentence
        !           135: .fq { beginning of paragraph
        !           136: .fq } end of paragraph
        !           137: .fq % find matching \f5(){}\fP
        !           138: .1C
        !           139: .PP
        !           140: Adjusting the screen
        !           141: .2C
        !           142: .fq ^L clear and redraw
        !           143: .fq ^R  "retype, eliminate \f5@\fR lines
        !           144: .fq z redraw, current line at window top
        !           145: .fq z- \&... at bottom
        !           146: .fq z. \&... at center
        !           147: .fq /\fIpat\fP/z- \fIpat\fR line at bottom
        !           148: .fz z n use \fIn\fR-line window
        !           149: .fq ^E scroll down one line
        !           150: .fq ^Y scroll up one line
        !           151: .1C
        !           152: .PP
        !           153: Marking and returning
        !           154: .2C
        !           155: .fq `` move cursor to previous context
        !           156: .fq '' \&... at first nonwhite in line
        !           157: .fz m x "mark position with letter \fIx\fR
        !           158: .fz ` x move cursor to mark
        !           159: .fz ' x \&... at first nonwhite
        !           160: .1C
        !           161: .PP
        !           162: Line positioning
        !           163: .2C
        !           164: .fq H top line of screen
        !           165: .fq L bottom line
        !           166: .fq M middle line
        !           167: .fq + next line, at first nonwhite
        !           168: .fq - previous line, at first nonwhite
        !           169: <newline>      same as \f5+\fR
        !           170: .fq j next line, same column
        !           171: .fq  k previous line, same column
        !           172: .1C
        !           173: .PP
        !           174: Character positioning
        !           175: .2C
        !           176: .fq ^ first nonwhite (not CTRL)
        !           177: .fq 0 beginning of line
        !           178: .fq $ end of line
        !           179: .fq l forward
        !           180: .fq h backward
        !           181: .fq ^L ^H same as \f5l h\fR
        !           182: <space>        same as \f5l\fR
        !           183: .fz f x find \fIx\fR forward
        !           184: .fz F x find backward
        !           185: .fz t x upto \fIx\fR forward
        !           186: .fz T x back upto \fIx\fR
        !           187: .fq ; repeat last \f5f F t T\fR
        !           188: .fq , opposite of \f5;\fR
        !           189: .fq | to specified column
        !           190: .fq % find matching \f5(){}\fR
        !           191: .1C
        !           192: .PP
        !           193: Words, sentences, paragraphs
        !           194: .2C
        !           195: .fq w word forward
        !           196: .fq b word backward
        !           197: .fq e end of word
        !           198: .fq ) next sentence
        !           199: .fq ( previous sentence
        !           200: .fq } next paragraph
        !           201: .fq { previous paragraph
        !           202: .fq W blank-delimited word
        !           203: .fq B backward to ...
        !           204: .fq E to end of ...
        !           205: .1C
        !           206: .PP
        !           207: Corrections
        !           208: .2C
        !           209: .fq ^H erase last character
        !           210: .fq ^W erase last word
        !           211: erase  your erase, same as \f5^H\fR
        !           212: kill   your kill, erase this line
        !           213: .fq \e quotes your erase or kill
        !           214: ESC    return to command mode
        !           215: .fq ^? interrupt, return to command mode
        !           216: .fq ^D backtab over autoindent
        !           217: .fq ^V quote nonprinting character
        !           218: .1C
        !           219: .PP
        !           220: Insert and replace
        !           221: .2C
        !           222: .fq a append after cursor
        !           223: .fq A append at end of line
        !           224: .fq i insert before cursor
        !           225: .fq I insert before first non-blank
        !           226: .fq o open below line
        !           227: .fq O open above
        !           228: .fz r x replace one character
        !           229: .fz R text replace characters
        !           230: .1C
        !           231: .PP
        !           232: Operators
        !           233: .PP
        !           234: .br
        !           235: Operators are followed by cursor motion and affect all
        !           236: text that would have been moved over:
        !           237: .B dw
        !           238: deletes a word.
        !           239: Double the operator, e.g.\&
        !           240: .BR dd ,
        !           241: to affect whole lines.
        !           242: .2C
        !           243: .fq d delete
        !           244: .fq c change
        !           245: .fq y yank lines to buffer
        !           246: .fq < left shift
        !           247: .fq > right shift
        !           248: .fq ! filter through command
        !           249: .fq = Lisp indent
        !           250: .1C
        !           251: .PP
        !           252: Miscellaneous operators
        !           253: .2C
        !           254: .fq C change rest of line (\f5c$\fR)
        !           255: .fq D delete rest of line (\f5d$\fR)
        !           256: .fq s substitute characters (\f5cd\fR)
        !           257: .fq S substitute lines (\f5cc\fR)
        !           258: .fq J join lines
        !           259: .fq x delete characters (\f5dl\fR)
        !           260: .fq X ... before cursor (\f5dh\fR)
        !           261: .fq Y yank lines (\f5yy\fR)
        !           262: .1C
        !           263: .PP
        !           264: Yank and put
        !           265: .2C
        !           266: .fq p put buffer after cursor
        !           267: .fq P put buffer before cursor
        !           268: \f5"\fI x \f5p\fR      put from buffer \fIx\fR
        !           269: .fz x y yank to buffer \fIx\fR
        !           270: .fz x d delete to buffer \fIx\fR
        !           271: .1C
        !           272: .PP
        !           273: Undo, redo, retrieve
        !           274: .2C
        !           275: .fq u undo last change
        !           276: .fq U restore current line
        !           277: .fq . repeat last change
        !           278: \f5"\fI n \f5p\fR      retrieve \fIn\fR-th last delete
        !           279: .1C
        !           280: .PP
        !           281: Special ex commands
        !           282: .PP
        !           283: .br
        !           284: .I Ex
        !           285: understands most
        !           286: .I ed
        !           287: commands, plus the commands indicated with
        !           288: .B :
        !           289: in the
        !           290: .I vi
        !           291: summary, plus the following, shown with their
        !           292: shortest possible spellings:
        !           293: .PD0
        !           294: .2C
        !           295: .BI ab brev
        !           296: .BI ar gs
        !           297: .BI co py
        !           298: .BI map
        !           299: .BI ma rk
        !           300: .BI n ext
        !           301: .BI nu mber
        !           302: .BI pre serve
        !           303: .BI pu t
        !           304: .BI re ad
        !           305: .BI rec over
        !           306: .BI rew ind
        !           307: .BI se t
        !           308: .BI sh ell
        !           309: .BI so urce
        !           310: .BI st op
        !           311: .BI una bbrev
        !           312: .BI u ndo
        !           313: .BI unm ap
        !           314: .BI ve rsion
        !           315: .BI vi sual
        !           316: .BI x it
        !           317: .BI ya nk
        !           318: .BI z " window"
        !           319: .BI < " lshift
        !           320: .BI > " rshift
        !           321: .BI ^D " scroll
        !           322: .1C
        !           323: The
        !           324: .B set
        !           325: command
        !           326: controls various options;
        !           327: .L set all
        !           328: shows the list.
        !           329: .SH EXAMPLES
        !           330: .2C
        !           331: .PD0
        !           332: .TF /\fItext\fR<newline>
        !           333: .TP
        !           334: .B \(<-\(da\(ua\(->
        !           335: arrow keys move the cursor
        !           336: .TP
        !           337: .B hjkl
        !           338: same as arrow keys
        !           339: .TP
        !           340: .BI i text\fR<ESC>
        !           341: .RI insert " text
        !           342: .TP
        !           343: .BI cw new\fR<ESC>
        !           344: .RI "change word to " new
        !           345: .TP
        !           346: .B 3dw
        !           347: delete 3 words
        !           348: .TP
        !           349: .B ZZ
        !           350: exit, saving changes
        !           351: .TP
        !           352: .BI / text\fR<newline>
        !           353: .RI "search for " text
        !           354: .TP
        !           355: .B ^U ^D
        !           356: scroll up or down
        !           357: .1C
        !           358: .PD
        !           359: .SH FILES
        !           360: .TF /usr/lib/ex?.?preserve
        !           361: .TP
        !           362: .F /usr/lib/ex?.?recover
        !           363: recover command
        !           364: .TP
        !           365: .F /usr/lib/ex?.?preserve
        !           366: preserve command
        !           367: .TP
        !           368: .F /etc/termcap
        !           369: describes capabilities of terminals
        !           370: .TP
        !           371: .F $HOME/.exrc
        !           372: editor startup file
        !           373: .TP
        !           374: .F /tmp/Ex*
        !           375: editor temporary
        !           376: .TP
        !           377: .F /tmp/Rx*
        !           378: named buffer temporary
        !           379: .TP
        !           380: .F /usr/preserve
        !           381: preservation directory
        !           382: .SH SEE ALSO
        !           383: .IR ed (1), 
        !           384: .IR sam (9.1), 
        !           385: .IR sed (1)
        !           386: .br
        !           387: W. Joy and M. Horton,
        !           388: `An Introduction to Display Editing with Vi',
        !           389: in
        !           390: .I
        !           391: Unix Programmer's Manual, Seventh Edition, Virtual VAX-11 Version,
        !           392: 1980, Vol 2C
        !           393: (Berkeley)
        !           394: .ig
        !           395: .SH BUGS
        !           396: The
        !           397: .I undo
        !           398: command causes all marks to be lost on lines changed and then restored
        !           399: if the marked lines were changed.
        !           400: .br
        !           401: .I Undo
        !           402: never clears the buffer modified condition.
        !           403: .br
        !           404: The
        !           405: .I z
        !           406: command prints a number of logical rather than physical lines.
        !           407: More than a screen full of output may result if long lines are present.
        !           408: .br
        !           409: File input/output errors don't print a name if the 
        !           410: .LR -
        !           411: option is used.
        !           412: .br
        !           413: There is no easy way to do a single scan ignoring case.
        !           414: .br
        !           415: The editor does not warn if text is placed in named buffers and not used
        !           416: before exiting the editor.
        !           417: .br
        !           418: Null characters are discarded in input files, and cannot appear in resultant
        !           419: files.
        !           420: .br
        !           421: Software tabs using
        !           422: .B ^T
        !           423: work only immediately after the
        !           424: .LR autoindent .
        !           425: .br
        !           426: The
        !           427: .L wrapmargin
        !           428: option can be fooled since it looks at output columns when blanks are typed.
        !           429: If a long word passes through the margin and onto the next line without a
        !           430: break, then the line won't be broken.
        !           431: .br
        !           432: The
        !           433: .I source
        !           434: command does not work when executed as
        !           435: .BR :source ;
        !           436: there is no way to use the
        !           437: .BR :append ,
        !           438: .BR :change ,
        !           439: and
        !           440: .BR :insert
        !           441: commands in
        !           442: .I vi,
        !           443: since it is not possible to give
        !           444: more than one line of input to a
        !           445: .B :
        !           446: escape.
        !           447: To use these
        !           448: on a
        !           449: .B :global
        !           450: you must
        !           451: .B Q
        !           452: to
        !           453: .I ex
        !           454: command mode,
        !           455: execute them, and then reenter the screen editor with
        !           456: .L vi
        !           457: or
        !           458: .LR open .
        !           459: ..

unix.superglobalmegacorp.com

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