Я плохо знаком с экраном, но настроил свой файл ~ / .screenrc в соответствии с различными рекомендациями, которые я нашел в Интернете. У меня есть одна проблема, которую, я уверен, можно очень легко решить; Думаю, это настройка termcap ..?
После использования less, vim, top или других программ в автономном bash (в Mac OSX 10.6) после выхода из этих программ буфер терминала очистится, и строка над текущей командной строкой будет предыдущей командой, которую я ввел.
Однако с экраном, когда я выхожу из любой из этих программ, буфер экрана не очищается / не обновляется, и я все равно буду видеть то, на что я смотрел внутри этой программы .. Имеет смысл ??
например в автономном bash (без экрана): -
hostname:~ auser$ vim afile
[do stuff in file, then :q to exit]
После выхода посмотрю: -
hostname:~ auser$ vim afile
hostname:~ auser$
Но на экране: -
bash-3.2$ vim afile
[do stuff in file, then :q to exit]
После выхода я увижу весь экран: -
~ # [Empty lines in vim are represented by these tilda characters. ]
...
~ # [ Every line on the screen is one of these tildas ]
bash-3.2$ # [ This is the bottom line in the terminal ]
Надеюсь, в этом есть какой-то смысл. Любая и вся помощь очень ценится! TIA
ставить altscreen on
в ~/.screenrc
или Контроль+а:altscreen
+Возвращение
Ответ заключается в терминальных возможностях как «реального» терминала, который вы используете, так и терминала, который представлен приложениям через screen
. Приложения, выполняющие свой терминальный ввод / вывод через screen
увидеть терминал типа screen
. Ваш "настоящий" терминал может быть любым из xterm
к vt100
. (Используйте printenv TERM
или эквивалент, чтобы узнать.)
Приложения TUI, такие как vim
и less
адаптировать свое поведение к тому, на что способен терминал, с которым они разговаривают. Этот ответ слишком краток для подробного описания механики terminfo механизм, или даже механику того, как программы любят vim
и less
использовать это. Об этом есть целые книги. Очень кратко сказано, что ваш «настоящий» терминал рекламирует возможность, которую screen
терминал нет.
Плюс, конечно, на SuperUser уже был дан подробный ответ, Вот и Вот и Вот.