Solaris 2.6 に Solaris 8 から telnet してます。
ある時(後述)から vi がおかしいのです。
40行ほどあるターミナル(dtterm)なのに23行くらいしか一度に表示しないのです。
Ctrl + L しても変わらず、:set all で見てみると window=23 になってます。
試しに :set window=40 としてもエラーはでないのですが、状況変わらず。

% echo $TERM
dtterm
という設定です。
% setenv TERM xterm
% setenv TERM sun-cmd
も試しましたが、悪化する一方ですた。
vi が使えない状況がこんなに苦しいとは..どなたかお助けください。

不具合のでたタイミングにやったことは以下のパッチをあてたことです。
105181-34 SunOS 5.6: Kernel update patch
105210-51 SunOS 5.6: libaio, libc & watchmalloc patch
105568-25 SunOS 5.6: /usr/lib/libthread.so.1 patch
105591-18 Shared library patch for C++

105633-62 OpenWindows 3.6: Xsun patch
105669-11 CDE 1.2: libDtSvc Patch
105284-50 Motif 1.2.7: Runtime library patch
106841-01 OpenWindows 3.6: Keytables patch

106125-16 SunOS 5.6: Patch for patchadd and patchrm