\" $NetBSD: vis.1,v 1.25 2021/02/20 09:31:51 nia Exp $
\"
\" Copyright (c) 1989, 1991, 1993, 1994
\" The Regents of the University of California. All rights reserved.
\"
\" Redistribution and use in source and binary forms, with or without
\" modification, are permitted provided that the following conditions
\" are met:
\" 1. Redistributions of source code must retain the above copyright
\" notice, this list of conditions and the following disclaimer.
\" 2. Redistributions in binary form must reproduce the above copyright
\" notice, this list of conditions and the following disclaimer in the
\" documentation and/or other materials provided with the distribution.
\" 3. Neither the name of the University nor the names of its contributors
\" may be used to endorse or promote products derived from this software
\" without specific prior written permission.
\"
\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
\" SUCH DAMAGE.
\"
\" @(#)vis.1 8.4 (Berkeley) 4/19/94
\"
Dd February 18, 2021
Dt VIS 1
Os
Sh NAME
Nm vis
Nd display non-printable characters in a visual format
Sh SYNOPSIS
Nm
Op Fl bcfhlMmNnoSstw
Op Fl e Ar extra
Op Fl F Ar foldwidth
Op Ar file ...
Sh DESCRIPTION
Nm
is a filter for converting non-printable characters
into a visual representation.
It differs from
Ql cat -v
in that
the form is unique and invertible.
By default, all non-graphic
characters except space, tab, and newline are encoded.
A detailed description of the
various visual formats is given in
Xr vis 3 .
Pp
The options are as follows:
Bl -tag -width Ds
It Fl b
Turns off prepending of backslash before up-arrow control sequences
and meta characters, and disables the doubling of backslashes.
This
produces output which is neither invertible or precise, but does
represent a minimum of change to the input.
It is similar to
Dq Li cat -v .
Pq Dv VIS_NOSLASH
It Fl c
Request a format which displays a small subset of the
non-printable characters using C-style backslash sequences.
Pq Dv VIS_CSTYLE
It Fl e Ar extra
Also encode characters in
Ar extra ,
per
Xr svis 3 .
It Fl F Ar foldwidth
Causes
Nm
to fold output lines to foldwidth columns (default 80), like
Xr fold 1 ,
except
that a hidden newline sequence is used, (which is removed
when inverting the file back to its original form with
Xr unvis 1 ) .
If the last character in the encoded file does not end in a newline,
a hidden newline sequence is appended to the output.
This makes
the output usable with various editors and other utilities which
typically don't work with partial lines.
It Fl f
Same as
Fl F .
It Fl h
Encode using the URI encoding from RFC 1808.
Pq Dv VIS_HTTPSTYLE
It Fl l
Mark newlines with the visible sequence
Ql \e$ ,
followed by the newline.
It Fl M
Encode all shell meta characters (implies
Fl S ,
Fl w ,
Fl g )
Pq Dv VIS_META
It Fl m
Encode using the MIME Quoted-Printable encoding from RFC 2045.
Pq Dv VIS_MIMESTYLE
It Fl N
Turn on the
Dv VIS_NOLOCALE
flag which encodes using the
Dq C
locale, removing any encoding dependencies caused by the current
locale settings specified in the environment.
It Fl n
Turns off any encoding, except for the fact that backslashes are
still doubled and hidden newline sequences inserted if
Fl f
or
Fl F
is selected.
When combined with the
Fl f
flag,
Nm
becomes like
an invertible version of the
Xr fold 1
utility.
That is, the output can be unfolded by running the output through
Xr unvis 1 .
It Fl o
Request a format which displays non-printable characters as
an octal number, \eddd.
Pq Dv VIS_OCTAL
It Fl S
Encode shell meta-characters that are non-white space or glob.
Pq Dv VIS_SHELL
It Fl s
Only characters considered unsafe to send to a terminal are encoded.
This flag allows backspace, bell, and carriage return in addition
to the default space, tab and newline.
Pq Dv VIS_SAFE
It Fl t
Tabs are also encoded.
Pq Dv VIS_TAB
It Fl w
White space (space-tab-newline) is also encoded.
Pq Dv VIS_WHITE
El
Sh MULTIBYTE CHARACTER SUPPORT
Nm
supports multibyte character input.
The encoding conversion is influenced by the setting of the
Ev LC_CTYPE
environment variable which defines the set of characters that can be
copied without encoding.
Pp
When 8-bit data is present in the input,
Ev LC_CTYPE
must be set to the correct locale or to the C locale.
If the locales of the data and the conversion are mismatched, multibyte
character recognition may fail and encoding will be performed byte-by-byte
instead.
Sh ENVIRONMENT
Bl -tag -width ".Ev LC_CTYPE"
It Ev LC_CTYPE
Specify the locale of the input data.
Set to C if the input data locale is unknown.
El
Sh EXAMPLES
Visualize characters encoding white spaces and tabs:
Bd -literal -offset indent
$ printf "\\x10\\n\\t\\n" | vis -w -t
\\^P\\012\\011\\012
Ed
Pp
Same as above but using `\\$' for newline followed by an actual newline:
Bd -literal -offset indent
$ printf "\\x10\\n\\t\\n" | vis -w -t -l
\\^P\\$
\\011\\$
Ed
Pp
Visualize string using URI encoding:
Bd -literal -offset indent
$ printf
https://www.NetBSD.org | vis -h
https%3a%2f%2fwww.NetBSD.org
Ed
Sh SEE ALSO
Xr unvis 1 ,
Xr svis 3 ,
Xr vis 3
Sh HISTORY
The
Nm
command appears in
Bx 4.4 .
Multibyte character support was added in
Nx 7.0
and
Fx 9.2 .