Я хотел бы less
чтобы выйти немедленно, если весь файл может быть отображен на одном экране. Для этого я бы использовал опцию -F
:
-F or --quit-if-one-screen
Causes less to automatically exit if the entire file can be
displayed on the first screen.
Гвоздь: когда файл длиннее одного экрана, я бы хотел использовать альтернативный экран. Поэтому я не хочу передавать -X
:
-X or --no-init
Disables sending the termcap initialization and deinitialization
strings to the terminal. This is sometimes desirable if the
deinitialization string does something unnecessary, like
clearing the screen.
Обратите внимание, что если вы установите -F
без -X
, то при выполнении команды less some-short-file
не будет видно видимых результатов, поскольку он появляется только на альтернативном экране, который исчезает, как только выходит less
, что происходит немедленно.
Почему я хочу это: у меня есть привязки tmux, настроенные так, что я могу прокручивать колесико мыши, когда в альтернативном режиме экрана (то есть в less
и в вещах, которые используют его как пейджер: git
, ack
, ag
, man
т.д.).
Интересно, если мне придется заменить less
каким-нибудь скриптом-оберткой или функцией, которая проверяет высоту экрана и условно решает, вызывать ли less -FX
или less
, или будет ли такая вещь слишком сложной для реализации при чтении из канала (в этом случае возможно, придется сделать что-то попроще, например, по умолчанию less
).