1 |
.\" $NetBSD: vis.1,v 1.17 2013/02/14 14:00:00 christos Exp $ |
2 |
.\" |
3 |
.\" Copyright (c) 1989, 1991, 1993, 1994 |
4 |
.\" The Regents of the University of California. All rights reserved. |
5 |
.\" |
6 |
.\" Redistribution and use in source and binary forms, with or without |
7 |
.\" modification, are permitted provided that the following conditions |
8 |
.\" are met: |
9 |
.\" 1. Redistributions of source code must retain the above copyright |
10 |
.\" notice, this list of conditions and the following disclaimer. |
11 |
.\" 2. Redistributions in binary form must reproduce the above copyright |
12 |
.\" notice, this list of conditions and the following disclaimer in the |
13 |
.\" documentation and/or other materials provided with the distribution. |
14 |
.\" 3. Neither the name of the University nor the names of its contributors |
15 |
.\" may be used to endorse or promote products derived from this software |
16 |
.\" without specific prior written permission. |
17 |
.\" |
18 |
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
19 |
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
20 |
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
21 |
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
22 |
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
23 |
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
24 |
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
25 |
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
26 |
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
27 |
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
28 |
.\" SUCH DAMAGE. |
29 |
.\" |
30 |
.\" @(#)vis.1 8.4 (Berkeley) 4/19/94 |
31 |
.\" |
32 |
.Dd February 13, 2013 |
33 |
.Dt VIS 1 |
34 |
.Os |
35 |
.Sh NAME |
36 |
.Nm vis |
37 |
.Nd display non-printable characters in a visual format |
38 |
.Sh SYNOPSIS |
39 |
.Nm |
40 |
.Op Fl bcfhlmnostw |
41 |
.Op Fl e Ar extra |
42 |
.Op Fl F Ar foldwidth |
43 |
.Op Ar file ... |
44 |
.Sh DESCRIPTION |
45 |
.Nm |
46 |
is a filter for converting non-printable characters |
47 |
into a visual representation. |
48 |
It differs from |
49 |
.Ql cat -v |
50 |
in that |
51 |
the form is unique and invertible. |
52 |
By default, all non-graphic |
53 |
characters except space, tab, and newline are encoded. |
54 |
A detailed description of the |
55 |
various visual formats is given in |
56 |
.Xr vis 3 . |
57 |
.Pp |
58 |
The options are as follows: |
59 |
.Bl -tag -width Ds |
60 |
.It Fl b |
61 |
Turns off prepending of backslash before up-arrow control sequences |
62 |
and meta characters, and disables the doubling of backslashes. |
63 |
This |
64 |
produces output which is neither invertible or precise, but does |
65 |
represent a minimum of change to the input. |
66 |
It is similar to |
67 |
.Dq Li cat -v . |
68 |
.Pq Dv VIS_NOSLASH |
69 |
.It Fl c |
70 |
Request a format which displays a small subset of the |
71 |
non-printable characters using C-style backslash sequences. |
72 |
.Pq Dv VIS_CSTYLE |
73 |
.It Fl e Ar extra |
74 |
Also encode characters in |
75 |
.Ar extra , |
76 |
per |
77 |
.Xr svis 3 . |
78 |
.It Fl F Ar foldwidth |
79 |
Causes |
80 |
.Nm |
81 |
to fold output lines to foldwidth columns (default 80), like |
82 |
.Xr fold 1 , |
83 |
except |
84 |
that a hidden newline sequence is used, (which is removed |
85 |
when inverting the file back to its original form with |
86 |
.Xr unvis 1 ) . |
87 |
If the last character in the encoded file does not end in a newline, |
88 |
a hidden newline sequence is appended to the output. |
89 |
This makes |
90 |
the output usable with various editors and other utilities which |
91 |
typically don't work with partial lines. |
92 |
.It Fl f |
93 |
Same as |
94 |
.Fl F . |
95 |
.It Fl h |
96 |
Encode using the URI encoding from RFC 1808. |
97 |
.Pq Dv VIS_HTTPSTYLE |
98 |
.It Fl l |
99 |
Mark newlines with the visible sequence |
100 |
.Ql \e$ , |
101 |
followed by the newline. |
102 |
.It Fl m |
103 |
Encode using the MIME Quoted-Printable encoding from RFC 2045. |
104 |
.Pq Dv VIS_MIMESTYLE |
105 |
.It Fl n |
106 |
Turns off any encoding, except for the fact that backslashes are |
107 |
still doubled and hidden newline sequences inserted if |
108 |
.Fl f |
109 |
or |
110 |
.Fl F |
111 |
is selected. |
112 |
When combined with the |
113 |
.Fl f |
114 |
flag, |
115 |
.Nm |
116 |
becomes like |
117 |
an invertible version of the |
118 |
.Xr fold 1 |
119 |
utility. |
120 |
That is, the output can be unfolded by running the output through |
121 |
.Xr unvis 1 . |
122 |
.It Fl o |
123 |
Request a format which displays non-printable characters as |
124 |
an octal number, \eddd. |
125 |
.Pq Dv VIS_OCTAL |
126 |
.It Fl s |
127 |
Only characters considered unsafe to send to a terminal are encoded. |
128 |
This flag allows backspace, bell, and carriage return in addition |
129 |
to the default space, tab and newline. |
130 |
.Pq Dv VIS_SAFE |
131 |
.It Fl t |
132 |
Tabs are also encoded. |
133 |
.Pq Dv VIS_TAB |
134 |
.It Fl w |
135 |
White space (space-tab-newline) is also encoded. |
136 |
.Pq Dv VIS_WHITE |
137 |
.El |
138 |
.Sh MULTIBYTE CHARACTER SUPPORT |
139 |
.Nm |
140 |
supports multibyte character input. |
141 |
The encoding conversion is influenced by the setting of the |
142 |
.Ev LC_CTYPE |
143 |
environment variable which defines the set of characters that can be |
144 |
copied without encoding. |
145 |
.Pp |
146 |
When 8-bit data is present in the input, |
147 |
.Ev LC_CTYPE |
148 |
must be set to the correct locale or to the C locale. |
149 |
If the locales of the data and the conversion are mismatched, multibyte |
150 |
character recognition may fail and encoding will be performed byte-by-byte |
151 |
instead. |
152 |
.Sh ENVIRONMENT |
153 |
.Bl -tag -width ".Ev LC_CTYPE" |
154 |
.It Ev LC_CTYPE |
155 |
Specify the locale of the input data. |
156 |
Set to C if the input data locale is unknown. |
157 |
.Sh SEE ALSO |
158 |
.Xr unvis 1 , |
159 |
.Xr svis 3 , |
160 |
.Xr vis 3 |
161 |
.Sh HISTORY |
162 |
The |
163 |
.Nm |
164 |
command appears in |
165 |
.Bx 4.4 . |
166 |
Myltibyte character support was added in |
167 |
.Nx 6.1 |
168 |
and |
169 |
.Fx 9.2 . |