当一行的长度超过当前窗口宽度时,Putty 将换行,而不是显示水平滚动条。如何防止此行为?
使用 MySQL 客户端时尤其烦人。
答案1
如上所述,PuTTY 不提供水平滚动条。它支持 VT100 样式的自动换行功能,这可能会与禁止换行功能混淆。但它不是那样工作的:
- 在终端中运行的应用程序通常使用终端描述(termcap 或 terminfo 格式)来了解终端的行为。
- 例如,这些能力列于terminfo(5)手册页。
- 终端描述包括 ncurses 和其他应用程序使用的字符串,用于初始化终点站。
- PuTTY 的配置对话框提供了几个可以更改的功能它是初始状态的概念。
- 来自主机的“完整”初始化字符串(不对终端的初始状态做出假设)将覆盖 PuTTY 的初始状态。
terminfo 中的功能称为“自动边距”,并列出这里:
auto_right_margin am am terminal has auto-
matic margins
在基本功能,手册中指出
如果终端在到达右边距时绕回到下一行的开头,那么它应该有是能力。
也就是说,它告诉应用程序该做什么预计。如果应用程序不期望终端换行,它将假定终端不会换行,并根据需要移动光标来模拟换行。
作为一般规则,终端仿真器提供可配置的功能,可以
- 进入初始状态
- 已启用
- 已禁用
最后一种(禁用)比前两种少见得多。PuTTY 的自动边距功能属于第一类。如PuTTY 希望水平滚动,如果您确实需要水平滚动,则只能通过使用在终端仿真器中运行的应用程序来模拟该功能。给出的示例(较少的)使用选项提供此-S
功能(请参阅用于less -S
水平滚动)。