VI65 Text Editor - vi for the 6502

rbanffy1 pts0 comments

VI65 text editor home

VI65 text editor

A VI implementation for 6502 machines.

This is the "manual" of the multi platform VI65 0.2 editor.

The editor (and the documentation) is far from finished, and there are<br>a lots of bugs. Maybe the next version will be better ;)

Supported platforms:

Commodore 64, 128, 16, Plus 4, VIC20 (expanded), PET 40/80.<br>Atari 8bit, Apple II.<br>There's a plugin version for the IDE64 filemanager too.

Supported text modes:

C64 - 40/53/64/80x25 (VDC 80x25 on C128)<br>C128 - 40/53/64/80x25, VDC 80x25<br>+4 - 40x25, 53/64/80x23<br>C16 - 40x25<br>VIC20 - 22x23, 26/35/40x22<br>PET - 40/80x25<br>ATARI - 40/53/64/80x24<br>APPLE II - 40/46/56/80x24

Some text modes use custom 4x8, 5x8 and 6x8 charsets on graphic screen.

Screenshots:

Limitations:

251 characters in a line<br>65535 lines of text (memory runs out faster...)<br>65535 maximum count<br>Platform native text format only<br>Paste register only limited by the amount of memory<br>No extra memory support yet<br>Single buffer editing for now

The following key description was mostly copied from the<br>VIM 7.2 manual.

Motion keys

j or

[count] characters to the right. exclusive motion.<br>h or or CTRL-H

[count] characters to the left. exclusive motion.<br>0 or

To the first character of the line. exclusive<br>motion.<br>g$ or g

To the rightmost<br>character of the current line that is visible on the<br>screen. Differs from "$" when the last character of<br>the line is not on the screen.<br>Additionally, vertical movements keep the column,<br>instead of going to the end of the line. inclusive.<br>g0 or g

To the leftmost<br>character of the current line that is on the screen.<br>Differs from "0" when the first character of the line<br>is not on the screen. exclusive motion.<br>gm

Like "g0", but half a screenwidth to the right (or as<br>much as possible). exclusive.

To the first non-blank character of the line. exclusive.

To screen column [count] in the current line.<br>exclusive motion.<br>$ or

To the end of the line. When a count is given also go<br>[count - 1] lines downward inclusive.<br>t{char}

Till before [count]'th occurrence of {char} to the<br>right. The cursor is placed on the character left of<br>{char}. inclusive.<br>f{char}

To [count]'th occurrence of {char} to the right. The<br>cursor is placed on {char}. inclusive.

Till after [count]'th occurrence of {char} to the<br>left. The cursor is placed on the character right of<br>{char} exclusive.

To the [count]'th occurrence of {char} to the left.<br>The cursor is placed on {char} exclusive.

To line [count] from bottom of window (default: Last<br>line on the window) on the first non-blank character<br>linewise.

To line [count] from top (Home) of window (default:<br>first line on the window) on the first non-blank<br>character linewise.

To Middle line of window, on the first non-blank<br>character linewise.

Goto line [count], default last line, on the first<br>non-blank character linewise.<br>gg

Goto line [count], default first line, on the first<br>non-blank character linewise.<br>j or or CTRL-J or CTRL-N or

[count] lines downward linewise.<br>k or or CTRL-P

[count] lines upward linewise.

[count] lines upward, on the first non-blank<br>character linewise.<br>+ or CTRL-M or

[count] lines downward, on the first non-blank<br>character linewise.<br>'{a-z}

The cursor is positioned on the first non-blank<br>character in the line of the specified location and<br>the motion is linewise.<br>`{a-z[]} or and start<br>insert.

Delete from the cursor position to the end of the<br>line and [count]-1 more lines , and<br>start insert. Synonym for c$

Delete [count] characters and start<br>insert (s stands for Substitute). Synonym for "cl"

Delete [count] lines and start<br>insert. Synonym for "cc" linewise.<br>y{motion}

Yank {motion} text .<br>d{motion}

Delete text that {motion} moves over .

Delete the characters under the cursor until the end<br>of the line and [count]-1 more lines synonym for "d$".

Delete [count] characters under and after the cursor<br>(not linewise). Does the same as<br>"dl".

Delete [count] characters before the cursor (not linewise). Does the same as "dh".

Begin a new line above the cursor and insert text

Begin a new line below the cursor and insert text

Put the text after the cursor<br>[count] times.

Put the text before the cursor<br>[count] times.

Join 2 lines.<br>m{a-z}

Set mark {a-z} at cursor position

Move backward.

Move forward.<br>zL

Move the view on the text half a screenwidth to the<br>right, thus scroll the text half a screenwidth to the<br>left.<br>z or zl

Move the view on the text [count] characters to the<br>right, thus scroll the text [count] characters to the<br>left.<br>zH

Move the view on the text half a screenwidth to the<br>left, thus scroll the text half a screenwidth to the<br>right.<br>z or zh

Move the view on the text [count] characters to the<br>left, thus scroll the text [count] characters to the<br>right.<br>ze

Scroll the text horizontally to position the cursor<br>at the end (right side) of the screen.<br>zs

Scroll the text horizontally to position the cursor<br>at the start (left side) of the screen.<br>CTRL-E

Scroll window [count] lines downwards in the...

count line text character cursor first

Related Articles