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 op‐
15       tion 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, de‐
34       pending on how ambitious you are) different.  But what matters most  is
35       that one's “muscle memory” does the right thing to the text in front of
36       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.  See “-?” for a short  usage  mes‐
89              sage.
90
91       -i | -I
92              Tells  vile  to use vileinit.rc (which is installed) as the ini‐
93              tialization file.  If you do not have a .vilerc, vile will  make
94              a   short   one  that  sources  vileinit.rc  This  is  added  to
95              [vileinit].
96
97       -k cryptkey | -K cryptkey
98              Specifies an encryption/decryption key.  See below  for  further
99              discussion.   This  option  applies  only locally to the buffers
100              named on the command-line, and is not added to [vileopts], since
101              that is executed too late.
102
103       -R     Invokes  vile in “readonly” mode - no writes are permitted while
104              in this mode.  (This will also be true if  vile  is  invoked  as
105              view, or if “readonly” mode is set in the startup file.)
106
107       -s pattern | -S pattern
108              In  the  first file, vile will execute an initial search for the
109              given pattern.  This is not the same as “-c/pattern” since  that
110              positions the cursor to the line matching the pattern.  This op‐
111              tion positions the cursor within the line.
112
113       -t tag
114              vile will edit the correct file and move the cursor to the loca‐
115              tion  of  the  tag.   This  requires a tagsfile created with the
116              ctags(1) command.  The option -T is equivalent, and can be  used
117              when X11 option parsing eats the -t.
118
119       -U     overrides the $system-crlf variable, making new buffers start in
120              dos mode.
121
122       -u     overrides the $system-crlf variable, making new buffers start in
123              nodos mode.
124
125       -v     Invokes  vile  in  “view” mode - no changes are permitted to any
126              buffer while in this mode (see “-e”.
127
128       -V     vile will report its version number.
129
130       -?     If an option is not recognized (or the  special  option  “?”  is
131              given),  vile  prints  a  short usage message.  Normally that is
132              sent to the standard output.  The GUI winvile displays this  in‐
133              formation in a window.
134
135   SCREENSIZE OPTIONS
136       Screensize can be set from the command line for certain configurations:
137
138       -25 -43 -50 -60
139              On  PC systems you may be able to set the initial screen resolu‐
140              tion from the command line.
141
142       -80 -132
143              On VMS systems you may be able to set the initial screen resolu‐
144              tion from the command line.  See vile.hlp for details.
145
146   X11 OPTIONS
147       xvile-specific  command-line options are detailed in the help file (see
148       “Standard X command line arguments”.  The standard  ones  (e.g.,  -dis‐
149       play, -fn, -geometry, -name, etc.) are all supported.
150
151   OBSOLETE OPTIONS
152       vile  recognizes  some options which duplicate the functionality of the
153       POSIX “-c” option:
154
155       +command
156              This has the same effect as “-ccommand
157
158       -g NNN | -G NNN
159              This has the same effect as “-cNNNvile will begin the  session
160              on the first file jumping to the given line number NNN.
161

INVOCATION

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

STARTUP

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

COMMANDS

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

UTILITY SCRIPTS

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

ENCRYPTION

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

ENVIRONMENT VARIABLES

280       VILEINIT
281              Editor initialization commands in lieu of a startup file.  These
282              are copied into [vileinit], and executed.
283
284       VILE_HELP_FILE
285              Override the name of the help file, normally “vile.hlp”.
286
287       VILE_LIBDIR_PATH
288              Augment $PATH when searching for a filter program.
289
290       VILE_STARTUP_FILE
291              Override the name of the startup file,  normally  “.vilerc”  (or
292              “vile.rc” for non-UNIX systems).
293
294       VILE_STARTUP_PATH
295              Override the search path for the startup and help files.
296

SEE ALSO

298       Your favorite vi document, the file macros.doc, and the vile help page,
299       available with the -h option or as the text file vile.hlp.
300

DEBTS and CREDITS

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

AUTHORS

308       vile was created by Paul Fox, Tom Dickey, and Kevin Buettner.
309

BUGS

311       The  "VI Like Emacs” joke isn't really funny.  It only sounds that way.
312       :-) Other suspicious behavior should be reported via the project  mail‐
313       ing list, or via the web-based bug reporting system.  Both of these are
314       available here:
315
316       https://savannah.nongnu.org/projects/vile
317
318
319
320                                                                       VILE(1)
Impressum