p The options are as follows: l -tag -width Ds t 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 .
q Dv VIS_NOSLASH t Fl c Request a format which displays a small subset of the non-printable characters using C-style backslash sequences.
q Dv VIS_CSTYLE t Fl e Ar extra Also encode characters in .Ar extra , per .Xr svis 3 . t 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. t Fl f Same as .Fl F . t Fl h Encode using the URI encoding from RFC 1808.
q Dv VIS_HTTPSTYLE t Fl l Mark newlines with the visible sequence .Ql \e$ , followed by the newline. t Fl M Encode all shell meta characters (implies .Fl S , .Fl w , .Fl g )
q Dv VIS_META t Fl m Encode using the MIME Quoted-Printable encoding from RFC 2045.
q Dv VIS_MIMESTYLE t 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. t 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 . t Fl o Request a format which displays non-printable characters as an octal number, \eddd.
q Dv VIS_OCTAL t Fl S Encode shell meta-characters that are non-white space or glob.
q Dv VIS_SHELL t 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.
q Dv VIS_SAFE t Fl t Tabs are also encoded.
q Dv VIS_TAB t Fl w White space (space-tab-newline) is also encoded.
q 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.
p 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 l -tag -width ".Ev LC_CTYPE" t 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: d -literal -offset indent $ printf "\\x10\\n\\t\\n" | vis -w -t \\^P\\012\\011\\012 .Ed
p Same as above but using `\\$' for newline followed by an actual newline: d -literal -offset indent $ printf "\\x10\\n\\t\\n" | vis -w -t -l \\^P\\$ \\011\\$ .Ed
p Visualize string using URI encoding: d -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 x 4.4 . Multibyte character support was added in .Nx 7.0 and .Fx 9.2 .