Это странно.
В некоторых моих системах Debian, но не во всех, я получаю странное повреждение в некоторых терминальных программах, таких как nano
. Это не происходит, однако, при использовании less
. В данном конкретном случае я использую 64-разрядную версию Debian 7.9 "Wheezy". Я установил несколько пакетов, но IIRC эта проблема, как известно, случается даже при новой установке.
Проблема заключается в следующем. Я открываю большой текстовый документ (т.е. один с несколькими страницами) в нано и, используя клавиши курсора, пролистываю его. Всякий раз, когда курсор проходит ниже нижней части экрана, документ опускается на половину страницы. Это, конечно, нормально. Что не является нормальным, так это то, что обновляется только нижняя половина экрана!
Аналогично, когда я перемещаю курсор вверх, отображается предыдущая страница, но обновляется только верхняя половина экрана.
Я считаю, что это лучше всего иллюстрировать реальными иллюстрациями. Пожалуйста, рассмотрите следующее изображение фиктивного файла, содержащего только номера строк:
Это должна быть фотография, потому что проблема не возникает по ssh. Это также, как ни странно, не произойдет, если я сначала введу команду screen
.
Я перемещаю курсор вниз под строкой 43, и происходит следующее:
Обратите внимание, как обновляется нижняя половина экрана, теперь отображаются строки, начинающиеся с 44, а верхняя половина остается неизменной.
Если я снова переместу курсор в нижнюю часть экрана, это произойдет снова:
Еще раз, нижняя половина экрана обновилась, чтобы показать линии, начинающиеся с 66, в то время как верхняя половина экрана остается неизменной.
Если затем я наведу курсор на верхнюю часть экрана, то в верхней половине появится та же проблема:
Как вы можете видеть, верхняя половина экрана обновилась, чтобы показать строки с 23 по 44, в то время как нижняя половина не изменилась, и все еще показывает строки, начинающиеся с 67.
В настоящее время я использую оболочку zsh
, но точно такая же проблема возникает в bash
. Поэтому это не специфическая для оболочки проблема.
Переменные $lines
и $columns
являются пустыми; и переменная TERM
установлена в xterm-256color
.
Итак .... почему это происходит, и что я могу с этим поделать? Благодарю.