Прокрутка не отключена в режиме альтернативного экрана - PullRequest
0 голосов
/ 24 января 2020

Итак, у меня есть эта минимальная программа в NIM, которая просто входит в режим альтернативного экрана, печатает несколько цифр и выходит из режима альтернативного экрана.

import os

echo "\e[?1049h"
echo "\nAlternate screen works but scrolling up is allowed, no keys sent."
for i in 0..4:
    echo $i
    sleep(1000)

echo "\e[?1049l"

Моя проблема в том, что прокрутка в режиме альтернативного экрана все еще включена в отличие от vim например. Я проверил свои настройки и попытался снять отметку, чтобы убедиться, что он затем корректно ведет себя с vim, как и с моей программой: send arrow keys instead of scrolling while in alternate screen mode Так что, похоже, vim отправляет некоторое сообщение escape-последовательности, которых нет в моей программе, т.е. нужно ли мне что-то отправить, чтобы сообщить терминалу, что я хочу, чтобы он посылал клавиши со стрелками вместо прокрутки экрана? Поскольку отправленные мной escape-последовательности должны (в соответствии с другими ответами на stackoverflow) перевести меня в режим альтернативного экрана (и это в основном так), опция в Ma c OS Terminal, как видно на рисунке, должна вступить в силу, но по какой-то причине она не ' t пока он работает с vim, что оставляет меня совершенно без понятия о том, какого рода черные маги c здесь происходят.

Любая помощь очень ценится:)

Для справки :

> echo $TERM
xterm-256color
...