Vi
Xenix 上的 Vi:為什麼不滾動行覆蓋目前行?
在 linux 和舊 Unix(例如 at&t)上,當我滾動行時,我看到 Xenix 上的文本目前讀取的行正在“覆蓋”螢幕。看影片你就明白我在說什麼了
怎麼解決?是終端問題還是 vi 的某些選項?
這是您的配置(無論是終端還是程序)的問題。
通過 minicom 連接聽起來像是串列埠(或調製解調器)連接。vi 要麼從連接的某些預定義設置中獲取螢幕大小,要麼從終端描述中獲取它。它無法感知實際的螢幕尺寸。有一些常見的解決方法:
- 使用更新遠端系統已知的螢幕大小的程序(或腳本)。如果它不是太古老,它有
stty
,這將顯示大小為rows
和columns
,例如,在“stty -a”的輸出中。在不那麼古老的系統中,該resize
程序對此很有用*(*但我記得 minicom 缺少很多 VT100 功能 - 所以這可能無法正常工作)。但即使沒有它,如果您stty
顯示這些值(可能是錯誤的),您也可以覆蓋它,例如stty rows 24
.LINES
通過設置和COLUMNS
環境變數來覆蓋程序- 修改遠端機器上的終端描述。例如,它可能是一個 termcap,其中有類似“:li#40:co:80:”的東西。通常,依賴 termcap 的程序假定正確的螢幕大小位於 termcap 文件中。