less(1) - SerenityOS man pages


less - A full-featured terminal pager.


$ cat file | less [-PXem]
$ less [-PXem] [file]
$ cat file | more
$ more [file]


less is a terminal pager that allows backwards movement. It is inspired by, but largely incompatible with GNU less.



Commands may be preceded by a decimal number N. Currently, this feature does not exist, and no command use N.

Command Description
q Exit less.
j or DOWNARROW or ENTER Go to the next line.
k or UPARROW Go to the previous line.
f or SPACE Go to the next page.
b Go to the previous page.


less accepts a special prompt string with the -P option. prompts accept a variety of format specifiers so that they adapt to less's state.

A % followed by a letter will be replaced with the associated variable. If such a variable does not exist, or currently has no value, it will be replaced with a ?.

Variable Description
%f Replaced with the name of the current file
%l Replaced with the current line number

A ? followed by a letter acts as an if expression on the associated condition. : then acts as the else, and . acts as the end token. for example if you wanted to print 'true' if you are at the end of the file and 'false' otherwise, your prompt would be ?etrue:false.. These expressions are arbitrarily nestable. If a condition does not exist, then it will always evaluate it's false branch.

Condition Description
?f True when reading from a file other than stdin.
?e True when at the end of a file.

A \\ followed by any character will be replaced with the literal value of the character. For instance, \\%l would render as %l.

All other characters are treated normally.


less's current default prompt: '?f%f :.(line %l)?e (END):.'

See Also