ivi Basics

The goal of this page is to show the basics of the ivi editor. ivi is designed to work in a command line shell such as that provided by Unix, Linux, MacOS, BSD, Raspberry Pi, or Windows 10 and essentially all other unix or linux based systems. If you are unfamiliar with that environment, go away and find some documentation on the web, then return.

This page can be read from start to finish. Alternatively, click on one of the following headings to select a particular section:

Note on typographical conventions

Before we begin, please note the following conventions:

The ivi editor

ivi is a general purpose full-screen editor which allows the user to create, view, modify, save and retrieve various objects, in particular text and records. It is also the interface for the vinci generator. We will not discuss that here, but the operations described here will be important in editing files used by vinci.

To begin editing

Once you are in a command shell, start the editor by typing ivi and pressing Return.

A display appears, filling the window (or filling the screen if you are not using a window system) as shown miniaturized below:

ivi screen

The screen is divided into zones:

status zone
This includes the top two lines. The top line contains the current corefile number and (in brackets) current row and column numbers. The information appearing on the right includes the number of lines in the current file and the current view mode (TEXT view). A file name may appear in the centre. The second line displays the positions of tabstops and margins.
text zone
This is the large blank area where you will type text and see output of the generator.
command zone
This includes the bottom two lines. The bottom line is the command line. Expecting Command prompts the user for a command. The next-to-bottom line is the message line where various system messages will appear.
flag zone
This comprises the two leftmost columns which may contain 'flags' which apply to the lines which they precede. The two most important 'flags' are + which indicates that the text line extends beyond the right edge of the screen; and - which indicates that there is text before the left edge of the screen.

ivi Modes

The editor has two principal modes:

Typing mode
for full-screen manipulation of text
Command mode
for entering various commands.

Initially, ivi is in command mode. To change from command mode to typing mode, press Return. Notice that the cursor moves from the command line to inside the text zone. The prompt Expecting Typing appears on the command line.

Practice typing a few lines of text, by using the keyboard as a typewriter. As you type, a line of text will appear on the screen.

To change back to command mode, press Control c. Notice that the cursor moves to the command line following the prompt, Expecting Command. This indicates that the editor is in command mode and it is prompting the user to input a command.

Change back to typing mode once more. Notice that the cursor returns to the space where it was previously. Practice changing from typing mode to command mode, and back to typing mode until you feel comfortable with the two.

Editing in Typing mode

Some basic editing keystrokes which are used frequently are described below. For each of these, read the description which follows the keystroke name. Then practice using the keystroke to learn and review its operation in typing mode.

Cursor Movement

Cursor movement keystrokes enable you to position the cursor in the text at locations where text is to be entered or deleted. Cursor movement keys include:

This moves the cursor to the left margin of the next line.
Arrow keys
Each moves the cursor one space in a specific direction, either up, down, left or right. Notice that if you try to move the cursor beyond the top, bottom and right boundaries of the text zone, the whole text moves bodily the opposite way. (i.e. if you move the cursor to the bottom, the text scrolls up.)

Overtype and Insert Modes

ivi has two modes for inserting characters into an already existing text: overwrite mode and insert mode. When ivi is started, it is in Overtype mode.

Overtype Mode
When in this mode, the prompt will show Expecting Typing. In this mode, anything you type replaces what it is typed over. This allows you to replace one character with another. To practice this, type the word "finger". Then move the cursor back under the letter "f" and type the letter "l". Notice that the character which was present initially, is replaced by the new letter.
Insert Mode
To change to this mode, type Control w. When in this mode, the prompt will change to Expecting Insert. To see the difference, type "cat" and then move the cursor over the "t" and type "r". The text will now read "cart". To return to Overtype mode, press Control w again. You can change back and forth from insert to overtype mode anytime you are in Text mode.


ivi has a number of keystrokes which enable you to delete characters, words, or lines. One is the delete key (Del) which allows you to delete characters, one at a time. Depending on the version of ivi you are using, this key will either be the Delete or the Backspace key.) The operation works the same whether in typing mode or in insert mode. The character which is deleted depends upon the cursor position, as the following examples illustrate:

Delete character under cursor.
Type "trees". Position the cursor under the "r" and press Del. This removes the "r" and the rest of the word moves left to fill the space.
Delete from end of line.
On a blank line, type "the cats" and position the cursor immediately after the "s". Press Del. Delete removes the "s" to its left.
Delete empty line.
Type "The cat is blue". Press Return twice to move down two lines. Type "The dog is red". Move the cursor to the beginning of the empty line between the two sentences. Press Del. The empty line will disappear.

Insert new line (Control f)

This keystroke inserts new (blank) lines. To practice this, type "The mouse is in the house" on one line and "The rat is in the garage" on the next. Position the cursor anywhere on the first line you just typed and press Control f. A new blank line will appear.


As shown earlier in the tutorial, if ivi is in command mode, the cursor is located at the bottom of the screen after the prompt, Expecting Command. The prompt indicates the editor is in command mode and the user may input a command. (Remember, ivi is placed in command mode by the key sequence Control c.)

ivi commands are typed by entering the first two letters of the command name in either upper or lower case. If the command is legal, the editor will fill out the entire name of the command and wait for the user to supply any necessary parameters (e.g. a filename). If the command is not legal, the error message Invalid Command Request will appear on the message line. Press Del to remove the error message and try again. Once the full command is entered, press Return to obey it.

File Commands

Initially, anything you type in Text mode is present in the computer's memory, but it is not saved on disk. If you were to turn off the system or logout, everything you typed would be lost.

Fortunately, ivi provides commands which allow you to save the contents of your work to disk and retrieve them later. In the next few paragraphs, we will examine some basic file commands. (Throughout this manual, we will usually present commands in the form FEtch, where FE are the letters which must be typed, and the remaining letters show the full name.) First, an overview of the commands we will look at.

The SAve command places a copy of the file in the computer's memory into a new disk file under a name you specify.
The OVerwrite command places a copy of the file in the computer's memory into an existing disk file under a name you specify, replacing whatever was there.
The FEtch command copies the contents of an existing disk file into your computer's memory and shows the contents of the file on your screen. The contents of the file replace the file which was previously in memory.
The APpend command copies the contents of an existing disk file into your computer's memory. However, unlike FEtch, the new material is added to the end of any existing file.
The INsert command copies the contents of an existing disk file into your computer's memory. The new material is inserted into the computer's memory immediately following the line with the cursor on it.
Removes the contents of the file in your computer's memory. Any material not previously SAved or OVerwritten will be lost.
ivi actually provides up to twenty separate areas in the computer's memory for editing files. Each is called a corefile. The COre command (followed by the appropriate digit, as in CO 3) allows you to switch from one corefile to another. This feature is particularly useful when working with vinci since it allows you to edit various files (lexicons, morphology files, syntax files, output files) in one place and switch easily among them, allowing for seamless editing and generation.

Practising File Commands

To begin, make sure that some text has been typed in text mode and appears on the screen. Then go to command mode (Control c).

To save your work to a disk file named "fred", type:

SA fred

and press Return. The file has now been saved to disk.

Notice that your text remains in the text zone, however. To see what is going on here, you must remove the contents from memory and recall them from disk.

To remove contents from memory, type:


and press Return. The screen will clear. Now, to recall the contents of the file from disk, type:

FE fred

and press Return. The contents should reappear on the screen.

Now, return to text mode and type a few more lines of text. Then return to command mode and type:

SA fred 

and press Return again. Note the error message which appears on the message line:

File already exists (or no write permission)

ivi has detected an existing copy of a file called "fred" and refuses to let you replace it with another file of the same name. What to do? To tell ivi that you want to replace the old version of "fred" on disk with a newer one, type:

OV fred

and press Return. ivi will then overwrite the old version of the file with a newer one. To confirm that this is so, type:

CL Return
FE fred

and press Return. The screen should clear and the more recent version should reappear.

Now let's try appending a file to work on the screen. To accomplish this, let us begin by changing corefiles. By default, ivi places you in corefile 1 (note the Core: 1 on the upper left hand corner of the screen). Let us now switch to Core 2. Type :

CO 2

and press Return. Note that the upper left hand corner of the screen now reads Core: 2. Go into text mode and type some text. Then return to command mode. Type:

AP fred

and press Return. The contents of the file you saved as "fred" should appear at the end of what you have just typed.

Now let's try inserting a file at the cursor position. While still in Core 2, move the cursor after the third line of the file. Return to command mode and type:

IN fred

and press Return. The contents of the file you saved as "fred" should appear just after the third line.

You have now practiced the basic commands listed earlier. There are many others described in the ivi Reference Manual which you may want to explore as well. Alternatively, you might consult the VINCI Documentation, which will show how to generate words and utterances.

Meanwhile, as a last item, we will show you how to leave ivi.

Quitting ivi

To turn off the editor, type Control c GO. ivi will complete the command to GOODBYE. Pressing Return will confirm that you want to quit.

At this point, if ivi detects that you have an unsaved corefile, it will place an error message on the message line:

WARNING: corefile 1 not saved. (del) aborts.

You now have the option of either pressing Return to ignore the warning, in which case the contents of the corefile will be lost, or pressing Del to cancel the command. In the second case, you should then SAve the corefile. The warning will be repeated for each corefile that has not been saved.