Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vi(1) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ex(1)

edit(1)

VI(1)  —  NEWS-OS Programmer’s Manual

NAME

vi − screen oriented (visual) display editor based on ex

SYNOPSIS

vi [ −t tag ] [ −r ] [ +command ] [ −l ] [ −wn ] name ... 

DESCRIPTION

Vi (visual) is a display oriented text editor based on ex(1). Ex and vi run the same code; it is possible to get to the command mode of ex from within vi and vice-versa. 

The Vi Quick Reference card and the Introduction to Display Editing with Vi provide full details on using vi. 

MULTI LANGUAGE SUPPORT

vi processes the multiple languages of input text containing the Kanji character-set for Japanese. 

Confirm the mode for the current tty using the stty command.  The mode for tty should be non parity, pass8, and the Kanji terminal code must be sjis, euc, jis or tca (Taiwan code).  If the Kanji terminal code indicates ASCII, you cannnot edit a file containing Kanji codes. 

You can use characters besides ASCII characters in the standard expression.  Matching can be done by a word at a time.  The code sequence is given below:

Japanese:
ASCII < JIS X0201 Katakana < JIS X0208 Kanji
Korean:
ASCII < KS C5601 Hangul/Hanja
Chinese(Taiwan):
ASCII < TCA Hanzi
European:
ASCII < ISO 8859-1 Latin supplementary characters

The cursor can be moved over the text by a word at a time.  When the second byte of a full-size character is at the column specified by column movement command (1 command), the cursor will move to the first byte of this full-size character. 

Vi classifies all characters into the eleven character-sets given below:

Japanese(9 kinds)
ASCII:      alphanumeric characters, special characters
JIS X0208:  Kanji, Hirakana, Katakana, English numeric characters,
            special characters
JIS X0201:  Katakana, Katakana phrase reading point
Korean(7 kinds)
ASCII:      alphanumeric characters, special characters
KS C5601:   Kanji, Hangul, Hangul vowel / consonant, alphanumeric
            characters, special characters
Chinese(Taiwan)(6 kinds)
ASCII:      alphanumeric characters, special characters
TCA:        Hanzi, pronunciation sign, alphanumeric characters,
            special characters
European(2 kinds)
ISO 8859-1: alphanumeric characters, special characters

Vi treats a character string consisting of the same character-set as "word".  Therefore, the cursor will move to the differenct character-set location for word movement. 

Vi identifies the full-size exclamation mark(!), the question mark(?), and the half-size Katakana punctuation marks as the end of a sentence. 

Vi will not display a full-size character in the last column of a line.  If there is such an occasion, the full-size character will be displayed at the beginning of the next line. 

To retrieve a full-size character, type the ‘f’, ‘F’, ‘t’, or ‘T’ commands. 

If the logical type variable called KJ is specified in termcap, the terminal identifies the full-size character and moves the cursor by a full-size character at a time. 

FILES

See ex(1). 

SEE ALSO

ex(1), edit(1), “Vi Quick Reference” card, “An Introduction to Display Editing with Vi”. 

AUTHOR

William Joy
Mark Horton added macros to visual mode and is maintaining version 3

BUGS

Software tabs using ^T work only immediately after the autoindent. 

Left and right shifts on intelligent terminals don’t make use of insert and delete character operations in the terminal. 

The wrapmargin option can be fooled since it looks at output columns when blanks are typed.  If a long word passes through the margin and onto the next line without a break, then the line won’t be broken. 

Insert/delete within a line can be slow if tabs are present on intelligent terminals, since the terminals need help in doing this correctly. 

Saving text on deletes in the named buffers is somewhat inefficient. 

The source command does not work when executed as :source; there is no way to use the :append, :change, and :insert commands, since it is not possible to give more than one line of input to a : escape.  To use these on a :global you must Q to ex command mode, execute them, and then reenter the screen editor with vi or open. 

NEWS-OS Release 4.1C

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