有什么方法可以修复屏幕对换行的错误处理?(也许只有 Terminal.app)

有什么方法可以修复屏幕对换行的错误处理?(也许只有 Terminal.app)

我在使用屏幕和 Terminal.app 时遇到问题。如果我在屏幕底部收到 bash 提示符,并且我继续输入直到换行到下一行,我会看到下一行,但我看不到此行上方的行发生变化。

这是说明我的问题的直观方式。| 代表终端的右侧。

之前。我的光标在第三个“示例”之后,我准备第四次输入“示例”:

$ asdf                        |
bash: asdf: command not found |
$ example example example     |

之后。请注意,换行后,屏幕没有滚动,而是“吃掉”了我所在的行并重新开始:

$ asdf                        |
bash: asdf: command not found |
ple                           |

我所期望的(以及不使用屏幕时发生的情况)是整个屏幕在换行后向下滚动。

bash: asdf: command not found |
$ example example example exam|
ple                           |

最后,如果我将换行上的光标移动到命令行的开头,它会吃掉前一行:

$ asdf                        |
$ example example example exam|
ple                           |

知道发生什么事了吗?

答案1

成功了!我尝试了这里的建议:

https://serverfault.com/questions/272818/screen-not-dropping-down-a-line

即添加:

termcapinfo xterm* ti@:te@

.screenrc重新启动屏幕。除了修复 OP 的问题外,这还会将屏幕的回滚行为更改为可能更适合我一般使用情况的行为(例如,只要我停留在同一个窗口中,我就可以使用终端的回滚)。

另外,我可以确认 10.7 的 Terminal.app 中存在该问题。

答案2

可能是 readline 的“horizo​​ntal-scroll-mode”。运行以下命令:

bind 'set horizontal-scroll-mode off'

看看你的症状是否有所改变。如果是的话,你可以在 ~/.inputrc 中设置它

答案3

进入终端设置,将“Declare terminal as:”设置从“xterm-color”更改为“xterm”。这为我解决了问题(但也导致 altscreen 被关闭 :( )

相关内容