| VIS(1) | General Commands Manual | VIS(1) | 
vis —
| vis | [ -bcfhlMmNnoSstw] [-eextra] [-Ffoldwidth] [file ...] | 
vis is a filter for converting non-printable characters
  into a visual representation. It differs from ‘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
  vis(3).
The options are as follows:
-bcat -v”.
      (VIS_NOSLASH)-cVIS_CSTYLE)-e
    extra-F
    foldwidthvis to fold output lines to foldwidth
      columns (default 80), like
      fold(1), except that a hidden
      newline sequence is used, (which is removed when inverting the file back
      to its original form with
      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.-f-F.-hVIS_HTTPSTYLE)-l\$’, followed by the newline.-M-S,
      -w, -g)
      (VIS_META)-mVIS_MIMESTYLE)-NVIS_NOLOCALE flag which encodes using
      the “C” locale, removing any encoding dependencies caused by
      the current locale settings specified in the environment.-n-f or -F is selected. When
      combined with the -f flag,
      vis becomes like an invertible version of the
      fold(1) utility. That is, the
      output can be unfolded by running the output through
      unvis(1).-oVIS_OCTAL)-SVIS_SHELL)-sVIS_SAFE)-tVIS_TAB)-wVIS_WHITE)vis supports multibyte character input. The encoding
  conversion is influenced by the setting of the
  LC_CTYPE environment variable which defines the set of
  characters that can be copied without encoding.
When 8-bit data is present in the input,
    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.
LC_CTYPE$ printf "\x10\n\t\n" | vis -w -t \^P\012\011\012
Same as above but using `\$' for newline followed by an actual newline:
$ printf "\x10\n\t\n" | vis -w -t -l \^P\$ \011\$
Visualize string using URI encoding:
$ printf https://www.NetBSD.org | vis -h https%3a%2f%2fwww.NetBSD.org
vis command appears in
  4.4BSD. Multibyte character support was added in
  NetBSD 7.0 and FreeBSD 9.2.
| February 18, 2021 | NetBSD 10.0 |