终端长线换行

终端长线换行

我在自定义 Linux 上遇到了一个换行的小问题,我不确定这是在哪里设置的。

在串行控制台或使用 SSH 登录时,我得到以下信息:

光标位于行首

[user@myhost ~]$ dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd>

光标位于行尾

<ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd

因此,它不会分成多行,而是继续由尖括号描述。

有人能指出我可以改变这种行为的方向吗?尝试用 readline 的 inputrc 和“设置水平滚动模式”之类的东西搞乱,但我不确定这是正确的地方

答案1

如果你的外壳是bash,请尝试

bind 'set horizontal-scroll-mode off'

如果问题解决了,请set horizontal-scroll-mode off在您的~/.inputrc文件中添加一行。

TERM另外,通过运行来检查变量的 terminfo 数据库中是否存在终端条目infocmp。如果 readline (由 所使用bash)无法找到它的条目,它将回退到horizontal-scroll-mode(因为它不能假设终端具有自动边距)。

您始终可以使用以下命令将 terminfo 定义从一台计算机导出到另一台计算机:

infocmp termname | ssh user@host tic -

这将在 内创建一个每个用户条目~/.terminfo/。如果省略termnameinfocmp值将使用 的内容TERM


mksh这也是(Android 上的默认 shell)和 OpenBSD 的行为ksh(区别在于<位于右侧)。对于这种情况,我认为不可能将其配置掉。

相关内容