1VILE(1) General Commands Manual VILE(1)
2
3
4
6 vile, xvile, uxvile, lxvile - VI Like Emacs
7
9 vile [@cmdfile] [+command] [-FhIiRVv] [-gNNN] [-kcryptkey] [-spattern]
10 [-ttag] [filename]...
11
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
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
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 ":")
69 separates 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 -v Invokes vile in "view" mode - no changes are permitted to any
119 buffer while in this mode (see "-e").
120
121 -V vile will report its version number.
122
123 -25 -43 -50 -60
124 On PC systems you may be able to set the initial screen resolu‐
125 tion from the command line.
126
127 -80 -132
128 On VMS systems you may be able to set the initial screen resolu‐
129 tion from the command line. See vile.hlp for details.
130
131 X11 OPTIONS
132 xvile-specific command-line options are detailed in the help file (see
133 "Standard X command line arguments"). The standard ones (e.g. -dis‐
134 play, -fn, -geometry, -name, etc.) are all supported.
135
136 OBSOLETE OPTIONS
137 vile recognizes some options which duplicate the functionality of the
138 POSIX "-c" option:
139
140 +command
141 This has the same effect as "-ccommand".
142
143 -g NNN | -G NNN
144 This has the same effect as "-cNNN". vile will begin the ses‐
145 sion on the first file jumping to the given line number NNN.
146
148 vile will edit the files specified on the command line. If no files
149 are specified, and standard input is not connected to a terminal, then
150 vile will bring up a buffer containing the output of the pipe it is
151 connected to, and will re-open /dev/tty for commands. Files (except
152 for the first) are not actually read into buffers until "visited". All
153 buffers are kept in memory: machines with not much memory or swap space
154 may have trouble with this.
155
157 If the @cmdfile option is given, then the file given as "cmdfile" will
158 be run before any files are loaded. If no @ option appears, startup
159 commands will be taken from the user's VILEINIT variable, if it is set,
160 from the file .vilerc in the current directory, if it exists, or from
161 $HOME/.vilerc, as a last resort. See the help file for examples of
162 what sorts of things might go into these command files.
163
165 Please refer to the help available within vile for vile-specific com‐
166 mands. (That document, however, assumes familiarity with vi.) Short
167 descriptions of each vile command may be obtained with the ":describe-
168 function" and ":describe-key" commands. All commands may be listed
169 with ":show-commands".
170
171 Additional documentation on writing macros using the internal scripting
172 language can be found in the file macros.doc, distributed with the vile
173 source.
174
176 vile may also be built and installed as xvile, in which case it behaves
177 as a native X Windows application, with scrollbars, better mouse sup‐
178 port, etc. The help file has more information on this.
179
180 There is a program distributed with the vile source which is usually
181 installed as vile-manfilt. (Two versions of the source for vile-man‐
182 filt are available, in C (manfilt.c) and in Perl (manfilt.pl).) It may
183 be used in conjunction with vile or xvile (with the help of the macro
184 in the file manpage.rc) to filter and view system manual pages. xvile
185 will even (with your font set properly) display certain portions of the
186 manual page text in bold or italics as appropriate. See the help file
187 for details.
188
189 Likewise, there are several language filters, e.g., vile-c-filt for C,
190 which can embolden, underline, or perform coloring on program source
191 code. Again, see the help file for more information.
192
194 The program vile-crypt can be used to encrypt/decrypt files using the
195 same algorithm as microEmac's internal crypt algorithm. This program,
196 which uses public domain code written by by Dana Hoggatt, is no longer
197 used in vile, though it is provided for compatibility.
198
199 vile currently uses the crypt(3) function for encryption/decryption,
200 which is available on most Unix systems. This ensures that vile is
201 able to read and write files compatibly with vi (but not vim, which
202 uses an different algorithm derived from info-zip). The editor's
203 encryption/decryption key can be specified on the command line with "-k
204 key". Text to be encrypted can be specified as filenames on the com‐
205 mand line, or provided as the standard input. On systems with a get‐
206 pass() library routine, the user will be prompted for the encryption
207 key if it is not given on the command line. To accommodate systems
208 (such as linux) where the getpass() library routine is not interrupt‐
209 ible from the keyboard, entering a crypt-key password which ends in ^C
210 will cause the program to quit. See the help file for more information
211 on vile's encryption support, including a discussion of a collection of
212 macros that interface with GNU's gpg package.
213
215 VILEINIT
216 Editor initialization commands in lieu of a startup file. These
217 are copied into [vileinit], and executed.
218
219 VILE_HELP_FILE
220 Override the name of the help file, normally ``vile.hlp''.
221
222 VILE_LIBDIR_PATH
223 Augment $PATH when searching for a filter program.
224
225 VILE_STARTUP_FILE
226 Override the name of the startup file, normally ``.vilerc'' (or
227 ``vile.rc'' for non-UNIX systems).
228
229 VILE_STARTUP_PATH
230 Override the search path for the startup and help files.
231
233 Your favorite vi document, the file macros.doc, and the vile help page,
234 available with the -h option or as the text file vile.hlp.
235
237 vile was originally built from a copy of microEmacs, so a large debt of
238 gratitude is due to the developers of that program. A lot of people
239 have helped with code and bug reports on vile. Names are named at the
240 bottom of the help file.
241
243 vile was created by Paul Fox, Tom Dickey, and Kevin Buettner.
244
246 The "VI Like Emacs" joke isn't really funny. It only sounds that way.
247 :-) Other suspicious behavior should be reported via the project
248 mailing list, or via the web-based bug reporting system. Both of these
249 are available here:
250
251 https://savannah.nongnu.org/projects/vile
252
253
254
255 VILE(1)