MOVE_VERTICAL
Moves the active editing position up or down in the current buffer by the
number of rows specified.
Syntax
MOVE_VERTICAL (integer)
Parameters
integer The number of rows the editing position moves. Positive
values are down (toward the bottom of the buffer). Negative
values are up (toward the top of the buffer).
Comments
By default, DECTPU keeps the cursor at the same offset on each line.
However, since DECTPU counts a tab as one character, regardless of how
wide the tab is, the column position of the cursor may vary greatly from
line to line even though the offset is the same.
To keep the cursor in approximately the same column on each line, use the
following statement:
SET (COLUMN_MOVE_VERTICAL, ON);
This statement directs DECTPU to keep the cursor in the same column unless
a tab character makes this impossible. If a tab occupies the column
position, DECTPU moves the cursor to the beginning of the tab.
Example
The following procedure moves the current character position by eight-line
sections and puts the cursor at the start of a line:
PROCEDURE user_move_by_lines
IF CURRENT_DIRECTION = FORWARD
THEN
MOVE_VERTICAL (+8); ! down a section
ELSE
MOVE_VERTICAL( -8); ! up a section
ENDIF;
MOVE_HORIZONTAL (-CURRENT_OFFSET); ! go to start of line
ENDPROCEDURE;
Related topics
CURSOR_VERTICAL MOVE_HORIZONTAL SET(COLUMN_MOVE_VERTICAL)