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 <https://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.