После исправления этой проблемы я столкнулся с аналогичной проблемой, в которой у 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
.