Vi

Xenix 上的 Vi:為什麼不滾動行覆蓋目前行?

  • October 14, 2015

在 linux 和舊 Unix(例如 at&t)上,當我滾動行時,我看到 Xenix 上的文本目前讀取的行正在“覆蓋”螢幕。看影片你就明白我在說什麼了

怎麼解決?是終端問題還是 vi 的某些選項?

這是您的配置(無論是終端還是程序)的問題。

通過 minicom 連接聽起來像是串列埠(或調製解調器)連接。vi 要麼從連接的某些預定義設置中獲取螢幕大小,要麼從終端描述中獲取它。它無法感知實際的螢幕尺寸。有一些常見的解決方法:

  • 使用更新遠端系統已知的螢幕大小的程序(或腳本)。如果它不是古老,它有stty,這將顯示大小為rowscolumns,例如,在“stty -a”的輸出中。在不那麼古老的系統中,該resize程序對此很有用*(*但我記得 minicom 缺少很多 VT100 功能 - 所以這可能無法正常工作)。但即使沒有它,如果您stty顯示這些值(可能是錯誤的),您也可以覆蓋它,例如stty rows 24.
  • LINES通過設置和COLUMNS環境變數來覆蓋程序
  • 修改遠端機器上的終端描述。例如,它可能是一個 termcap,其中有類似“:li#40:co:80:”的東西。通常,依賴 termcap 的程序假定正確的螢幕大小位於 termcap 文件中。

引用自:https://unix.stackexchange.com/questions/235910