На самом деле у вас нет "проблем", кроме того, что вы слишком привыкли к xterm
-изму и неправильно ожидаете, что он будет универсальным.
xterm - и эмуляторы терминала GUI, такие как gnome-терминал, lxterminal, konsole и т. д., реализуют так называемый "альтернативный экранный буфер". С помощью одной последовательности управления программы могут переключать эмулятор терминала на отображение и запись в этот буфер. С другой они могут переключиться обратно в исходный экранный буфер. Такие программы, как vim
(и less
), выдают первую последовательность управления при запуске / возобновлении работы и вторую при выключении / приостановке. Это дает эффект восстановления предыдущего содержимого экрана, когда vim
завершает работу.
Это не дано.
Не все терминалы и эмуляторы терминалов имеют альтернативный экранный буфер. Эмулятор терминала, встроенный в ядро вашей операционной системы, этого не делает. Если бы вы запустили vim
на виртуальном терминале ядра, вы бы увидели такое же поведение. Реальных терминалов вообще нет. (Фактические терминалы семейства DEC VT, например, имеют механизм, который включает "страницы", которые не совпадают, и который управляется другим набором последовательностей управления.)
Даже если у вашего терминала есть такой, вы должны убедиться, что запись termcap/terminfo для текущего типа терминала имеет соответствующую информацию, сообщающую программам TUI, таким как nano
и Midnight Commander, какие управляющие последовательности генерировать для отображения и скрытия альтернативного экранного буфера. Это комбинация выбора (и установки) соответствующего значения переменной среды TERM
для выбора записи из базы данных Fedora termcap/terminfo, которая соответствует возможностям вашего локального эмулятора терминала MacOS 10, и, возможно, даже редактирования этой базы данных.
То, что вы задали для TERM
не является фиксированным ответом, поскольку это зависит от того, какую эмуляцию вы настроили для работы с терминальной программой MacOS 10. Для этого вам просто нужно посмотреть на его настройки. Если вы сказали ему эмулировать xterm в 256-цветном режиме, вам нужно будет выбрать тип терминала (весьма вероятно, xterm-256color
), который описывает это в базе данных terminfo Fedora.
дальнейшее чтение