我在自定义 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/
。如果省略termname
,infocmp
值将使用 的内容TERM
。
mksh
这也是(Android 上的默认 shell)和 OpenBSD 的行为ksh
(区别在于<
位于右侧)。对于这种情况,我认为不可能将其配置掉。