1VILE(1)                     General Commands Manual                    VILE(1)
2
3
4

NAME

6       vile, xvile, uxvile, lxvile - VI Like Emacs
7

SYNOPSIS

9       vile  [@cmdfile] [+command] [-FhIiRVv] [-gNNN] [-kcryptkey] [-spattern]
10       [-ttag] [filename]...
11

DESCRIPTION

13       vile is a text editor.  This man page is fairly terse.   More  informa‐
14       tion  can  be  obtained  from  the internal help, available with the -h
15       option or by using the “:help” command from within vile.
16
17       xvile is the same text editor, built as an X-windows application,  with
18       fully integrated mouse support, scrollbars, etc.
19
20       uxvile  is a wrapper around xvile which invokes the latter program with
21       the correct locale environment required to use a unicode character  set
22       and the “UXVile” X resource class set.
23
24       lxvile  is a wrapper around xvile which invokes the latter program with
25       a font chosen to match the current locale environment.
26

SPIRIT

28       vile retains the “finger-feel” if you will, of  vi,  while  adding  the
29       multiple  buffer  and  multiple window features of emacs and other edi‐
30       tors.  It is definitely not a vi clone, in that some substantial  stuff
31       is  missing,  and  the  screen doesn't look quite the same.  The things
32       that you tend to type over and over probably work.   Things  done  less
33       frequently,  like  configuring  a  startup file, are somewhat (or very,
34       depending on how ambitious you are) different.  But what  matters  most
35       is that one's “muscle memory” does the right thing to the text in front
36       of you, and that is what vile tries to do for vi users.
37

OPTIONS

39       Vile accumulates most options into two temporary buffers [vileinit] and
40       [vileopts].   The former is executed before reading the first file into
41       a buffer.  The latter is executed after reading the first file  into  a
42       buffer.  Each is removed after executing (unless an error is detected).
43
44   COMMON OPTIONS
45       -ccommand
46              vile will begin the session on the first file invoking the given
47              command.  Legal commands include many ex-style  commands,  vile-
48              commands,  etc.,  subject to shell quoting.  This option is used
49              most often with a line number or search pattern.  For example
50
51                 vile -c123 filename
52                 vile -c/pattern filename
53
54              They correspond to ex-style commands on the given file:
55
56                 :123
57                 :/pattern
58
59              These are more verbose equivalents:
60
61                 vile -c'123 goto-line' filename
62                 vile -c'search-forward /pattern/' filename
63
64              You can use more than one command, e.g.,
65
66                 vile -c'123' -c'10*goto-col' filename
67
68              to put the cursor on column 10 of line 123.  The “*”(or “:” sep‐
69              arates  the  repeat  count  (used by goto-col) from the line- or
70              range-specification used by line-oriented commands.
71
72       @cmdfile
73              vile will run the specified file as its startup file,  and  will
74              bypass  any  normal  startup file (i.e.  .vilerc) or environment
75              variable (i.e.  $VILEINIT).  This is added to [vileinit].
76
77       -D     tells vile to trace the results of macro execution into the hid‐
78              den buffer “[Trace]”.
79
80       -e | -E
81              Invokes  vile  in  “noview”  mode - changes are permitted to any
82              buffer while in this mode (see “-v”.
83
84       -F     will run the syntax filter that applies to each filename on  the
85              command-line, and write the attributed text to the standard out‐
86              put.
87
88       -h     Invokes vile on the helpfile.
89
90       -i | -I
91              Tells vile to use vileinit.rc (which is installed) as  the  ini‐
92              tialization  file.  If you do not have a .vilerc, vile will make
93              a  short  one  that  sources  vileinit.rc  This  is   added   to
94              [vileinit].
95
96       -k cryptkey | -K cryptkey
97              Specifies  an  encryption/decryption key.  See below for further
98              discussion.  This option applies only  locally  to  the  buffers
99              named on the command-line, and is not added to [vileopts], since
100              that is executed too late.
101
102       -R     Invokes vile in “readonly” mode - no writes are permitted  while
103              in  this  mode.   (This  will also be true if vile is invoked as
104              view, or if “readonly” mode is set in the startup file.)
105
106       -s pattern | -S pattern
107              In the first file, vile will execute an initial search  for  the
108              given  pattern.  This is not the same as “-c/pattern” since that
109              positions the cursor to the line  matching  the  pattern.   This
110              option positions the cursor within the line.
111
112       -t tag
113              vile will edit the correct file and move the cursor to the loca‐
114              tion of the tag.  This requires  a  tagsfile  created  with  the
115              ctags(1)  command.  The option -T is equivalent, and can be used
116              when X11 option parsing eats the -t.
117
118       -U     overrides the $system-crlf variable, making new buffers start in
119              dos mode.
120
121       -u     overrides the $system-crlf variable, making new buffers start in
122              nodos mode.
123
124       -v     Invokes vile in “view” mode - no changes are  permitted  to  any
125              buffer while in this mode (see “-e”.
126
127       -V     vile will report its version number.
128
129       -25 -43 -50 -60
130              On  PC systems you may be able to set the initial screen resolu‐
131              tion from the command line.
132
133       -80 -132
134              On VMS systems you may be able to set the initial screen resolu‐
135              tion from the command line.  See vile.hlp for details.
136
137   X11 OPTIONS
138       xvile-specific  command-line options are detailed in the help file (see
139       “Standard X command line arguments”.  The standard  ones  (e.g.,  -dis‐
140       play, -fn, -geometry, -name, etc.) are all supported.
141
142   OBSOLETE OPTIONS
143       vile  recognizes  some options which duplicate the functionality of the
144       POSIX “-c” option:
145
146       +command
147              This has the same effect as “-ccommand
148
149       -g NNN | -G NNN
150              This has the same effect as “-cNNNvile will begin the  session
151              on the first file jumping to the given line number NNN.
152

INVOCATION

154       vile  will  edit  the files specified on the command line.  If no files
155       are specified, and standard input is not connected to a terminal,  then
156       vile  will  bring  up  a buffer containing the output of the pipe it is
157       connected to, and will re-open /dev/tty for  commands.   Files  (except
158       for  the  first) are not actually read into buffers until “visited” All
159       buffers are kept in memory: machines with not much memory or swap space
160       may have trouble with this.
161

STARTUP

163       If  the @cmdfile option is given, then the file given as “cmdfile” will
164       be run before any files are loaded.  If no @  option  appears,  startup
165       commands will be taken from the user's VILEINIT variable, if it is set,
166       from the file .vilerc in the current directory, if it exists,  or  from
167       $HOME/.vilerc,  as  a  last  resort.  See the help file for examples of
168       what sorts of things might go into these command files.
169

COMMANDS

171       Please refer to the help available within vile for  vile-specific  com‐
172       mands.   (That  document, however, assumes familiarity with vi.)  Short
173       descriptions  of  each  vile  command  may   be   obtained   with   the
174       “:describe-function” and “:describe-key” commands.  All commands may be
175       listed with “:show-commands”
176
177       Additional documentation on writing macros using the internal scripting
178       language can be found in the file macros.doc, distributed with the vile
179       source.
180
182   xvile
183       vile may also be built and installed as xvile, in which case it behaves
184       as  a  native X Windows application, with scrollbars, better mouse sup‐
185       port, etc.
186
187       The help file has more information on this in the section X Window Sys‐
188       tem specifics.
189
190   vile-manfilt
191       There  is  a  program distributed with the vile source which is usually
192       installed as vile-manfilt.  It may be used in conjunction with vile  or
193       xvile  (with  the  help of the macros in the file manpage.rc) to filter
194       and view system manual pages.  xvile will  even  (with  your  font  set
195       properly)  display  certain portions of the manual page text in bold or
196       italics as appropriate.
197
198       See the help file section on Filtering “man” pages for details.
199
200   Syntax filters
201       Likewise, there are several language filters, e.g., vile-c-filt for  C,
202       which  can  embolden,  underline, or perform coloring on program source
203       code.
204
205       Again, see the help file section on Syntax Coloring for  more  informa‐
206       tion.
207

UTILITY SCRIPTS

209       Vile  is not simply an interactive program.  Its macro language and use
210       of environment variables lets it be useful in scripting.
211
212   vile-libdir-path
213       The syntax filters and vile-manfilt may  not  be  installed  where  you
214       would  execute them in your PATH.  The vile-libdir-path script looks in
215       the usual places and  prints  an  updated  PATH  variable  which  other
216       scripts can use when executing these programs.
217
218   vile-pager
219       Vile  can  be used as a pager (typical examples include more and less).
220       This script uses vile-manfilt to preprocess a file which  is  piped  to
221       vile, adding markup which vile displays properly.
222
223       Unlike  a  typical  pager,  vile-pager  handles multi-line color escape
224       sequences, and multiple levels of overstrikes.  But  unlike  a  typical
225       pager,  vile-pager  expects the pipe to be closed before it starts dis‐
226       playing.
227
228   vile-to-html
229       Vile's “-F” option makes it act like a smart interface to  the  collec‐
230       tion  of  syntax  filters.   But its output uses vile's internal markup
231       rather than standard escape sequences.  Vile's utilities  include  pro‐
232       grams which translate that markup into different formats:
233
234       atr2ansi
235              converts the markup to ANSI escape sequences.
236
237       atr2html
238              converts the markup to HTML (with color).
239
240       atr2text
241              converts the markup to plain text.
242
243       The  vile-to-html script uses atr2html to convert a text file into HTML
244       using color.
245

ENCRYPTION

247       The program vile-crypt can be used to encrypt/decrypt files  using  the
248       same  algorithm as microEmac's internal crypt algorithm.  This program,
249       which uses public domain code written by Dana  Hoggatt,  is  no  longer
250       used in vile, though it is provided for compatibility.
251
252       vile  currently  uses  the crypt(3) function for encryption/decryption,
253       which is available on most Unix systems.  This  ensures  that  vile  is
254       able  to  read  and  write files compatibly with vi (but not vim, which
255       uses an different  algorithm  derived  from  info-zip).   The  editor's
256       encryption/decryption key can be specified on the command line with “-k
257       key” Text to be encrypted can be specified as filenames on the  command
258       line, or provided as the standard input.
259
260       On  systems with a getpass() library routine, the user will be prompted
261       for the encryption key if it is not given  on  the  command  line.   To
262       accommodate systems (such as linux) where the getpass() library routine
263       is not interruptible from the keyboard, entering a  crypt-key  password
264       which ends in ^C will cause the program to quit.
265
266       See  the  help  file for more information on vile's encryption support,
267       including a discussion of a collection of macros  that  interface  with
268       GNU's gpg package.
269

ENVIRONMENT VARIABLES

271       VILEINIT
272              Editor initialization commands in lieu of a startup file.  These
273              are copied into [vileinit], and executed.
274
275       VILE_HELP_FILE
276              Override the name of the help file, normally “vile.hlp”.
277
278       VILE_LIBDIR_PATH
279              Augment $PATH when searching for a filter program.
280
281       VILE_STARTUP_FILE
282              Override the name of the startup file,  normally  “.vilerc”  (or
283              “vile.rc” for non-UNIX systems).
284
285       VILE_STARTUP_PATH
286              Override the search path for the startup and help files.
287

SEE ALSO

289       Your favorite vi document, the file macros.doc, and the vile help page,
290       available with the -h option or as the text file vile.hlp.
291

DEBTS and CREDITS

293       vile was originally built from a copy of microEmacs, so a large debt of
294       gratitude  is  due  to the developers of that program.  A lot of people
295       have helped with code and bug reports on vile.  Names are named at  the
296       bottom of the help file.
297

AUTHORS

299       vile was created by Paul Fox, Tom Dickey, and Kevin Buettner.
300

BUGS

302       The  "VI Like Emacs” joke isn't really funny.  It only sounds that way.
303       :-) Other suspicious behavior should be reported via the project  mail‐
304       ing list, or via the web-based bug reporting system.  Both of these are
305       available here:
306
307       https://savannah.nongnu.org/projects/vile
308
309
310
311                                                                       VILE(1)
Impressum