NAME
up - optex module for multi-column paged output
SYNOPSIS
optex -Mup command ...
optex -Mup -C2 -- command ...
optex -Mup -G2x2 -- command ...
DESCRIPTION
up is a module for the optex command that pipes the output through App::ansicolumn for multi-column formatting and a pager. The name comes from the printing term "n-up" (2-up, 3-up, etc.) which refers to printing multiple pages on a single sheet.
The module automatically calculates the number of columns based on the terminal width divided by the pane width (default 85 characters).
Both stdout and stderr are merged and passed through the filter, so error messages are also displayed in the multi-column paged output.
The pager command is taken from the $PAGER environment variable if set, otherwise defaults to less. When using less, -F +Gg options are automatically appended. -F causes less to exit immediately if the output fits on one screen. +Gg causes less to read all input before displaying, which may take time for large output, but prevents empty trailing pages from being shown.
OPTIONS
Module options must be specified before -- separator.
- -C N, --pane=N
-
Set the number of columns (panes) directly.
- -R N, --row=N
-
Set the number of rows. The page height is calculated by dividing the terminal height by this value.
- -G CxR, --grid=CxR
-
Set the grid layout. For example,
--grid=2x3or--grid=2,3creates a 2-column, 3-row layout (6-up). This is equivalent to-C2 -R3. - --height=N
-
Set the page height directly in lines.
- -S N, --pane-width=N
-
Set the pane width in characters. Default is 85. When --pane is not specified, the number of panes is calculated by dividing the terminal width by this value.
- --bs=STYLE, --border-style=STYLE
-
Set the border style for ansicolumn. Default is
heavy-box. See App::ansicolumn for available styles. - --ls=STYLE, --line-style=STYLE
-
Set the line style for ansicolumn. Available styles are
none,truncate,wrap, andwordwrap. Default iswrap(inherited from ansicolumn's document mode). - -F, --fold
-
Enable fold mode (disable page mode). In fold mode, the entire content is split evenly across columns without pagination. Page mode is the default.
- -H, --filename
-
Show filename headers. This is passed to ansicolumn.
- -V, --parallel
-
Enable parallel view mode. This is passed to ansicolumn.
- --pager=COMMAND
-
Set the pager command. Default is
$PAGERorless. - --no-pager
-
Disable pager. Output goes directly to stdout.
EXAMPLES
Display perldoc output in multiple columns:
optex -Mup perldoc App::optex::up
List files in multiple columns with pager:
optex -Mup ls -l
Use 2 columns:
optex -Mup -C2 -- ls -l
Set pane width to 100:
optex -Mup -S100 -- ls -l
Use 2 rows (upper and lower):
optex -Mup -R2 -- ls -l
Use 2x2 grid (4-up):
optex -Mup -G2x2 -- ls -l
Fold mode (no pagination):
optex -Mup -F -- man perl
Use a different border style:
optex -Mup --bs=round-box -- ls -l
Output without pager (useful for piping):
optex -Mup --no-pager -C2 -- ls -l | head
Truncate long lines:
optex -Mup --ls=truncate -- ps aux
INSTALL
CPANMINUS
cpanm App::optex::up
SEE ALSO
App::optex, https://github.com/kaz-utashiro/optex
App::optex::up, https://github.com/kaz-utashiro/optex-up
AUTHOR
Kazumasa Utashiro
LICENSE
Copyright 2025 Kazumasa Utashiro.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.