После исправления этой проблемы я столкнулся с аналогичной проблемой, в которой у Vim не было этой проблемы, но less было. Это затронуло все программы, которые используют less , например, man . Я обнаружил, что причиной была переменная окружения LESS , в которой перечислены аргументы, которые автоматически передаются в less при каждом вызове. Параметр в LESS который вызвал это, был -X:
-X или --no-init
Отключает отправку строк инициализации и деинициализации termcap на терминал. Иногда это желательно, если строка деинициализации делает что-то ненужное, например, очистку экрана.
Я также узнал из Unix & Linux - « less --quit-if-one-screen без --no-init », что если вы отключите -X/--no-init , вы должны отключить -F/--quit-if-one-screen (если он установлен).
Чтобы исправить less чтобы он всегда восстанавливал ваш экран при выходе, измените значение LESS в соответствующем файле инициализации оболочки. Это будут .bashrc для Bash, .zshenv для Zsh и .config/fish/config.fish для Fish. В этот файл добавьте команду export LESS='<all the flags you want, without -X or -F>' нужные флаги , без -X или -F>' или set -gx LESS <flags> для рыбы. Вы можете заранее запустить echo $LESS чтобы увидеть существующие флаги для копирования в оператор export/set .