我在使用屏幕和 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 的“horizontal-scroll-mode”。运行以下命令:
bind 'set horizontal-scroll-mode off'
看看你的症状是否有所改变。如果是的话,你可以在 ~/.inputrc 中设置它
答案3
进入终端设置,将“Declare terminal as:”设置从“xterm-color”更改为“xterm”。这为我解决了问题(但也导致 altscreen 被关闭 :( )