next previous up contents index
Next: Record Numbers Previous: Concatenating Commands, Command Separator Up: Functions


Presentation in the Window, Current Line

The editor exaEdit works on the records in a file and treats them as lines at the same time (this is an example of a file with three records):

exaEdit uses the whole window at disposal for its work. If you change the window size while you work with exaEdit (which unfortunately is not possible in all operating systems), exaEdit recognizes this change and adjusts to the new size automatically. If the window is too small or if the operating system cannot use the window mode (i.e. writing on the whole window), exaEdit will work in the line mode. You can explicitly ask for the line mode (exaEdit command scope off), compare section The Line Mode.

exaEdit displays the content or (in most cases) parts of the content of the workfile in the upper part of the window, the so-called data zone. The lower part of the window mainly serves the input of commands (details discussed later) and the output of answers of the editor; it is called dialogue zone. So, a window showing the workfile presented above would look as follows (prerequisite a window with 24 lines).

            1         2         3         4         5         6         7         8
   12345678901234567890123456789012345678901234567890123456789012345678901234567890
  +--------------------------------------------------------------------------------+
 1|                                                                                |
 2|                                                                                |
 3|                                                                                |
 4|                                                                                |
 5|                                                                                |
 6|                                                                                |
 7|MAIN     exaEdit 02B TOP LINE file                                              |
 8|000100 *** 1st record of the file ***                                           |
 9|000200 2nd record                                                               |
10|000300 This is the last record                                                  |
11|                                                                                |
12|                                                                                |
13|                                                                                |
14|                                                                                |
15|                                                                                |
16|       ....;....1....;....2....;....3....;....4....;....5....;....6....;....7...|
17|                                                                                |
18|exaEdit                                                                         |
19|_                                                                               |
20|                                                                                |
21|                                                                                |
22|                                                                                |
23|                                                                                |
24|    MAIN          file                                                  3 19/ 1 |
  +--------------------------------------------------------------------------------+
The numbering above (1 - 80) and on the left (1 - 24) and the frame are not visible in the window, they are only used as points of reference in this manual. The data zone, where the records of the workfile (or parts of them) are displayed, contains the lines 1 to 15. In line 16, there is a ruler, which is supposed to make it easier for you to count the columns. Lines 17 to 23 contain the dialogue zone. Line 24 is the status line, in which the so-called workfile name (MAIN) is displayed, the name of the file currently worked on (file), on the very right border the number of records of the workfile (3), and the line and column number of the current cursor position (19/ 1).

The following considerations require that each record in the workfile takes only one line in the data zone if the record is visible there. It does not have to be like that necessarily, as you will see later, but this requirement is useful here since it allows us to use the terms line and record interchangeably.

Line 7 contains (as record number zero, so to speak) an additional record of the workfile with the workfile name (MAIN), the name of the editor exaEdit, the version number of exaEdit (02B), the identification TOP LINE and the name of the file currently worked on (file). The top line is generated when a file is loaded into a workfile and it is eliminated when the workfile is written into a file.

If a file has more records than the number of records that would fit into the window (which is normal), exaEdit only displays a certain section in the window.

magnifier

This section moves over the file according to the exaEdit commands used. Please try to keep this image in mind: The section moves over the file as a reading magnifier moves over a piece of paper. In contrast to this, the perception that the section remains fixed like a window and the file is pulled behind it is definitely wrong. The exaEdit command +5, for example, pushes the section five records onwards; this means five records downward in the direction of the end of the file.

The section contains an odd number of lines. This implies that there is a middle line, which is emphasized optically and logically. This line is called `current line' (to be more precise: the line of the current record). Any command which contains no line specification refers to the current line. For example, you use the command delete 3 (`delete 3 lines') to delete the record of the current line and the two following records in the workfile.

It is true that the current line is fixed in the window but it is not on a fixed place in the workfile. Every time when the workfile is changed, the current line is moved to the line that was changed last - after the changes are done. The section of the workfile displayed is always positioned in such a way that the place which has probably just been in the centre of your interest is in the middle of the window. In the explanations of each individual command notes are made whether and in which manner the current line is moved. With some exercise you will know where the current line is positioned after the execution of the most of the commands. Above that, you will be able to use this information to your advantage when you are concatenating commands (compare section Concatenating Commands, Command Separator).

Each record of the workfile has a record number. This number is determined when the file is loaded into the workfile. The numbers are consecutively counted up, the standard counting is is 100, 200, 300, ...

The lines in the data zone, that contain the records from the workfile, are structured as a standard as follows:

The width of the number area (default: 6) may be changed (0 to 8 characters); the data zone adjusts to it automatically.

With the values mentioned, there can be records up to 73 characters displayed in the data zone. But often there will be longer records than those fitting in 73 columns. As long as you do not give any other specification, the rests of the records will be displayed in subsequent lines. You recognize these subsequent lines from the the empty number area:

In this example, there are two records: The record with the number 200, the content of which fits in one line on the window, and the record with the number 100, which has 100 characters and takes two lines in the window.

Since this kind of presentation is not always liked, there is the possibility to define a logical window width (command LWWIDTH). If the window width is defined as 110, the example from above will transmute to the following picture:

With this method (but not yet in the current version of exaEdit) you have the possibility to move the visible part of the window (command szone). If you define szone as 30, you see the following in the window:

- this means anything from the thirtieth character on.

What happens if LWWIDTH is defined as 90 (and szone is set back to its normal value 1)?

This illustrates that the part which exceeds the value defined in LWWIDTH is always displayed in subsequent lines. If you do not want any subsequent lines at all, the value of LWWIDTH has to be the longest record.

One more schematic presentation of these facts:

1st case: logical window width (lwwidth) = width of the data area,
left margin = 1st character (szone 1):

lwwidth =
 width of data zone, szone value = 1

2nd case: logical window width (lwwidth) > width of the data area,
left margin = 1st character (szone 1):

lwwidth > than
 width of data zone, szone value = 1

3rd case: logical window width (lwwidth) > width of the data area,
left margin = nth character (szone n defined with n > 1):
(note: This case is not possible in the current version of exaEdit.)

lwwidth >
 than width of data zone, szone value > 1

The same rule is valid for the subsequent lines, this means that the specification of szone may change the part of these lines which is displayed, and it means that characters beyond the column LWWIDTH produce subsequent lines, again.


next previous up contents index
Next: Record Numbers Previous: Concatenating Commands, Command Separator Up: Functions