The concept of a resizable window didn't appear until GUI interfaces. Originally the hardware terminal had one specific size and vi depended on the screen being that exact size. I suspect that SVr2 was in that category, as the Sun merger of SVr4 would have been the reason to incorporate it. So try a 24x80 window and see if it behaves.

Try "stty -a" and see if it mentions rows and columns. If not, what terminfo says (try "infocmp") is what vi will believe.

It might also matter how you option your vt100 emulator, and even the native vt100 had setup options, such as wraparound (terminfo calls this auto_right_margin or just am). Vi depends on knowing what the cursor does when it types in the rightmost column.

Thanks,

      Mary Ann Horton (she/her/ma'am)
      maryannhorton.com


On 12/17/23 10:23, segaloco via TUHS wrote:
On 12/16/23 6:01 PM, KenUnix wrote:

I have been working with a VAX780 sim running
Unix System V r2 VAX780 and am having strange
issues.

TERM is defined at vt100

When firing up vi at times the cursor is positioned
in the wrong place or when inserting text it over
writes areas on the screen.

I have most often encountered this when my terminal window size was
larger than exactly 80x24.

If you're using Xterm or Gnome-terminal or a Windows terminal, for
example, make sure that the window is exactly 80 columns wide by 24
lines tall, or the VT100 termcap inside the emulator will be very confused.

-Seth
I'm not so sure on that one, I ran this on an arbitrarily sized xterm (I use a tiling WM) and it sized the vi session correctly and didn't seem to exhibit cursor anomalies.  This encapsulating terminal is a recent (past year) build of xterm using I believe the xterm256 or whatever its named TERM, in which I then launched your script using my local copy of vax780.  Tried just now in Linux fbcon with a TERM of "linux" and likewise the vi session still seems to size to 80x24 appropriately and doesn't have any cursor positioning issues.  Note in both cases the TERM variable I describe is the *host* terminal, TERM in the emulated session is vt100.

- Matt G.