Re: [dev] [ubase] pager

From: Mattias Andrée <maandree_AT_kth.se>
Date: Fri, 10 Feb 2017 20:31:22 +0100

Some pagers also support search, which can be very useful.

On Fri, 10 Feb 2017 11:28:04 -0800
"Leander S. Harding" <lsh_AT_lsh.io> wrote:

> Personally, I've always thought that the VTxx escape
> sequence family is missing one: enable/disable
> scroll-lock. Then, your 'pager' just consists of printing
> the scroll-lock sequences at the beginning and end of
> output and using your multiplexer's scrolling feature,
> and can be accomplished like Eric mentioned above via
> aliases easily, too.
>
> -Leander
>
> On Fri, Feb 10, 2017 at 1:53 AM, hiro <23hiro_AT_gmail.com>
> wrote:
> > the problem is when i *know* stuff fill be very long,
> > but I still want to start reading from the beginning.
> > in tmux i don't know how to start scrolling from top of
> > my last command. I don't want to scroll there manually.
> > also in page i can use pgup/down in tmux i have to do
> > crazy emacs-combinations first.
> >
> > On 2/10/17, Eric Pruitt <eric.pruitt_AT_gmail.com> wrote:
> >> On Fri, Feb 10, 2017 at 08:26:11AM +0100, robin
> >> wrote:
> >>> I usually pipe into less whenever something overflows
> >>> the terminal height, but having to type 2>&1 to see
> >>> stderr is a bit cumbersome. In dvtm Shift-PageUp is
> >>> much easier.
> >>
> >> I use a generic wrapper function in Bash:
> >>
> >> # $1 Name or path of the command to execute.
> >> # $2 White-space separated list of options to
> >> pass to the command # when stdout is a TTY. If
> >> there are no TTY-dependent options # this should
> >> be "--". # $_AT_ Arguments to pass to command.
> >> #
> >> function -paginate()
> >> {
> >> local errfd=1
> >>
> >> local command="$1"
> >> local tty_specific_args="$2"
> >> shift 2
> >>
> >> if [[ -t 1 ]]; then
> >> test "$tty_specific_args" != "--" ||
> >> tty_specific_args="" test -t 2 || errfd=2
> >> "$command" $tty_specific_args "$_AT_"
> >> 2>&"$errfd" | less -X -F -R return
> >> 2>"${PIPESTATUS[0]/141/0}" # Ignore SIGPIPE failures.
> >> fi
> >>
> >> "$command" "$_AT_"
> >> }
> >>
> >> Then I have around 30 aliases for various commands I
> >> use like this:
> >>
> >> alias cat='-paginate cat --'
> >> alias grep='-paginate grep --color=always'
> >> alias ps='-paginate ps --cols=$COLUMNS
> >> --sort=uid,pid -N --ppid 2 -p 2'
> >>
> >> Output is only paginated when stdout is a TTY so I can
> >> still use pipes, and the less flags ensure that less
> >> will exit if the output fits on one screen. I also use
> >> tmux, but I find less to be less painful to use than
> >> copy mode in tmux when I don't need to actually copy
> >> text.
> >>
> >> Eric
> >>
> >>
> >
>


Received on Fri Feb 10 2017 - 20:31:22 CET

This archive was generated by hypermail 2.3.0 : Fri Feb 10 2017 - 20:36:20 CET