Y a-t-il un moyen de corriger la mauvaise gestion par l'écran du retour à la ligne? (Peut-être seulement Terminal.app)

9

J'ai un problème avec screen et Terminal.app. Si j'obtiens une invite bash en bas de l'écran et que je continue à taper jusqu'à ce que la ligne passe à la ligne suivante, je vois la ligne suivante, mais je ne vois pas la ligne au-dessus de celle-ci changer.

Voici une manière visuelle d'illustrer mon problème. Le | représente le côté droit du terminal.

Avant. Mon curseur se trouve après le troisième «exemple» et je suis sur le point de taper «exemple» une quatrième fois:

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

Après. Notez comment, après l'emballage, l'écran n'a pas défilé, mais a plutôt `` mangé '' la ligne sur laquelle j'étais et a commencé à nouveau:

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

Ce à quoi je m'attendais (et ce qui se passe sans utiliser d'écran), c'est que tout l'écran défile vers le bas un après l'habillage.

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

Enfin, c'est ce qui se passe si je déplace le curseur sur la ligne enveloppée au début de la ligne de commande, il mange la ligne précédente:

$ asdf                        |
$ example example example exam|
ple                           |

Une idée de ce qui se passe?

AlexMax
la source
Le terminal GNOME et l'écran 4 s'enroulent comme prévu ici, FWIW. Quelle version utilisez-vous et avez-vous modifié les configurations par défaut?
Bernard
Cela se produit lors de la connexion à deux machines différentes. Ma machine Debian a l'écran 4 avec quelques configurations personnalisées, et ma boîte rhel 5.3 a également l'écran 4 sans configuration personnalisée et les deux boîtes présentent exactement le même comportement.
AlexMax
J'ai exactement le même comportement. Un autre symptôme (non décrit ci-dessus) est qu'après avoir mangé la ligne précédente, des choses étranges se produisent avec les sélections. Commencez à sélectionner avec la souris et tout ce qui se trouve sous la sélection apparaîtra correctement. Ex: si vous deviez sélectionner la ligne "$ asdf" dans le dernier exemple ci-dessus, cela changerait soudainement en "bash: asdf: command not found" (ce que la ligne précédente devrait dire). C'est comme si l'écran n'a pas redessiné ces lignes, mais aurait dû. C'est comme si vous oubliez de marquer ces lignes comme sales, et que vous deviez les restituer.
Modifié
À tout moment, cela commence à mal tourner, il suffit de tout sélectionner (COMMANDE + A) pour que le tampon d'écran soit correct.
Modifié
En outre, ce n'est pas un problème dans iTerm.app
Eddified

Réponses:

7

Succès! J'ai essayé la suggestion d'ici:

/server/272818/screen-not-dropping-down-a-line

qui consiste à ajouter:

termcapinfo xterm* ti@:te@

à votre .screenrcécran et redémarrez. Cela modifie le comportement de défilement de l'écran en quelque chose de probablement meilleur pour mon cas d'utilisation moyen (par exemple, je peux utiliser le défilement de Terminal aussi longtemps que je reste dans la même fenêtre), en plus de résoudre le problème d'OP.

En outre, je peux confirmer le problème dans Terminal.app de 10.7.

Nate
la source
Beau travail de détective! Malheureusement, je suis un grand utilisateur des multiples fenêtres de l'écran, donc cela ne fonctionnera pas pour moi.
AlexMax
cela ne fonctionne pas non plus pour moi, lorsque je ssh vers un autre serveur, c'est là que je rencontre le problème. Je ne sais pas si cela peut être spécifié comme ça difficiletermcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm' ti@:te@
Brian Thomas
2

Il pourrait s'agir du «mode de défilement horizontal» de readline. Exécutez la commande suivante:

bind 'set horizontal-scroll-mode off'

et voyez si vos symptômes changent. Si c'est le cas, vous pouvez le définir dans ~ / .inputrc

wfaulk
la source
1
n'a pas aidé dans mon cas.
Modifié
0

Allez dans les paramètres du terminal et modifiez le paramètre "Déclarer le terminal comme:" de "xterm-color" à simplement "xterm". Cela l'a corrigé pour moi (mais a également pour conséquence de désactiver altscreen :()

Eddified
la source
J'ai déjà configuré Terminal.app de cette façon, et cela ne m'aide pas avec mon problème. le mode de défilement horizontal est désactivé par défaut selon la page de manuel de l'écran, et je ne vois pas où il est activé. Bummer. J'aimerais vraiment trouver une solution à cela.
Tim Harper