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 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
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
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 “-cNNN” vile will begin the session
160 on the first file jumping to the given line number NNN.
161
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
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
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
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
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
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
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
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
308 vile was created by Paul Fox, Tom Dickey, and Kevin Buettner.
309
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)