VILE(1) VILE(1) NNAAMMEE vile, xvile - VVII LLike EEmacs SSYYNNOOPPSSIISS vviillee [[@@_c_m_d_f_i_l_e]] [[++_c_o_m_m_a_n_d]] [[--hhIIiiRRVVvv]] [[--gg_N_N_N]] [[--kk_c_r_y_p_t_k_e_y]] [[--ss_p_a_t_t_e_r_n]] [[--tt_t_a_g]] [[_f_i_l_e_n_a_m_e]]...... DDEESSCCRRIIPPTTIIOONN _v_i_l_e is a text editor. This man page is fairly terse. More informa- tion can be obtained from the internal help, available with the --hh option or by using the ":help" command from within _v_i_l_e. _x_v_i_l_e is the same text editor, built as an X-windows application, with fully integrated mouse support, scrollbars, etc. SSPPIIRRIITT _v_i_l_e retains the "finger-feel", if you will, of _v_i, while adding the multiple buffer and multiple window features of emacs and other edi- tors. It is definitely not a vi clone, in that some substantial stuff is missing, and the screen doesn't look quite the same. The things that you tend to type over and over probably work. Things done less frequently, like configuring a startup file, are somewhat (or very, depending on how ambitious you are) different. But what matters most is that one's "muscle memory" does the right thing to the text in front of you, and that is what _v_i_l_e tries to do for vi users. OOPPTTIIOONNSS Vile accumulates most options into two temporary buffers _[_v_i_l_e_i_n_i_t_] and _[_v_i_l_e_o_p_t_s_]. The former is executed before reading the first file into a buffer. The latter is executed after reading the first file into a buffer. Each is removed after executing (unless an error is detected). CCOOMMMMOONN OOPPTTIIOONNSS -c_c_o_m_m_a_n_d _v_i_l_e will begin the session on the first file invoking the given command. Legal commands include many ex-style commands, vile- commands, etc., subject to shell quoting. This option is used most often with a line number or search pattern. For example vile -c123 filename vile -c/pattern filename They correspond to ex-style commands on the given file: :123 :/pattern These are more verbose equivalents: vile -c'123 goto-line' filename vile -c'search-forward /pattern/' filename You can use more than one command, e.g., vile -c'123' -c'10*goto-col' filename to put the cursor on column 10 of line 123. The "*" (or ":") separates the repeat count (used by _g_o_t_o_-_c_o_l) from the line- or range-specification used by line-oriented commands. @_c_m_d_f_i_l_e _v_i_l_e will run the specified file as its startup file, and will bypass any normal startup file (i.e. _._v_i_l_e_r_c) or environment variable (i.e. _$_V_I_L_E_I_N_I_T). This is added to _[_v_i_l_e_i_n_i_t_]. -D tells _v_i_l_e to trace the results of macro execution into the hid- den buffer "[Trace]". -e | -E Invokes _v_i_l_e in "noview" mode - changes are permitted to any buffer while in this mode (see "-v"). -h Invokes _v_i_l_e on the helpfile. -i | -I Tells _v_i_l_e to use _v_i_l_e_i_n_i_t_._r_c (which is installed) as the ini- tialization file. If you do not have a .vilerc, _v_i_l_e will make a short one that sources _v_i_l_e_i_n_i_t_._r_c This is added to _[_v_i_l_e_i_n_i_t_]. -k _c_r_y_p_t_k_e_y | -K _c_r_y_p_t_k_e_y Specifies an encryption/decryption key. See below for further discussion. This option applies only locally to the buffers named on the command-line, and is not added to _[_v_i_l_e_o_p_t_s_], since that is executed too late. -R Invokes _v_i_l_e in "readonly" mode - no writes are permitted while in this mode. (This will also be true if _v_i_l_e is invoked as _v_i_e_w, or if "readonly" mode is set in the startup file.) -s _p_a_t_t_e_r_n | -S _p_a_t_t_e_r_n In the first file, _v_i_l_e will execute an initial search for the given pattern. This is not the same as "-c/_p_a_t_t_e_r_n", since that positions the cursor to the line matching the pattern. This option positions the cursor within the line. -t _t_a_g _v_i_l_e will edit the correct file and move the cursor to the loca- tion of the tag. This requires a tagsfile created with the _c_t_a_g_s(1) command. The option -T is equivalent, and can be used when X11 option parsing eats the -t. -v Invokes _v_i_l_e in "view" mode - no changes are permitted to any buffer while in this mode (see "-e"). -V _v_i_l_e will report its version number. -25 -43 -50 -60 On PC systems you may be able to set the initial screen resolu- tion from the command line. -80 -132 On VMS systems you may be able to set the initial screen resolu- tion from the command line. See _v_i_l_e_._h_l_p for details. XX1111 OOPPTTIIOONNSS _x_v_i_l_e-specific command-line options are detailed in the help file (see "Standard X command line arguments"). The standard ones (e.g. -dis- play, -fn, -geometry, -name, etc.) are all supported. OOBBSSOOLLEETTEE OOPPTTIIOONNSS vile recognizes some options which duplicate the functionality of the POSIX "-c" option: +_c_o_m_m_a_n_d This has the same effect as "-c_c_o_m_m_a_n_d". -g _N_N_N | -G _N_N_N This has the same effect as "-c_N_N_N". _v_i_l_e will begin the ses- sion on the first file jumping to the given line number _N_N_N. IINNVVOOCCAATTIIOONN vile will edit the files specified on the command line. If no files are specified, and standard input is not connected to a terminal, then vile will bring up a buffer containing the output of the pipe it is connected to, and will re-open /dev/tty for commands. Files (except for the first) are not actually read into buffers until "visited". All buffers are kept in memory: machines with not much memory or swap space may have trouble with this. SSTTAARRTTUUPP If the _@cmdfile option is given, then the file given as "cmdfile" will be run before any files are loaded. If no _@ option appears, startup commands will be taken from the user's _V_I_L_E_I_N_I_T variable, if it is set, from the file _._v_i_l_e_r_c in the current directory, if it exists, or from _$_H_O_M_E_/_._v_i_l_e_r_c, as a last resort. See the help file for examples of what sorts of things might go into these command files. CCOOMMMMAANNDDSS Please refer to the help available within _v_i_l_e for _v_i_l_e-specific com- mands. (That document, however, assumes familiarity with vi.) Short descriptions of each _v_i_l_e command may be obtained with the ":describe- function" and ":describe-key" commands. All commands may be listed with ":show-commands". Additional documentation on writing macros using the internal scripting language can be found in the file "doc/macros.doc", distributed with the vile source. RREELLAATTEEDD PPRROOGGRRAAMMSS _v_i_l_e may also be built and installed as _x_v_i_l_e, in which case it behaves as a native X Windows application, with scrollbars, better mouse sup- port, etc. The help file has more information on this. There is a program distributed with the vile source which is usually installed as _v_i_l_e_-_m_a_n_f_i_l_t. (Two versions of the source for _v_i_l_e_-_m_a_n_- _f_i_l_t are available, in C (manfilt.c) and in Perl (manfilt.pl).) It may be used in conjunction with _v_i_l_e or _x_v_i_l_e (with the help of the macro in the file manpage.rc) to filter and view system manual pages. _x_v_i_l_e will even (with your font set properly) display certain portions of the manual page text in bold or italics as appropriate. See the help file for details. Likewise, there are several language filters, e.g., _v_i_l_e_-_c_-_f_i_l_t for C, which can embolden, underline, or perform coloring on program source code. Again, see the help file for more information. EENNCCRRYYPPTTIIOONN The program _v_i_l_e_-_c_r_y_p_t can be used to encrypt/decrypt files using the same algorithm as _m_i_c_r_o_E_m_a_c's internal crypt algorithm. This program, which uses public domain code written by by Dana Hoggatt, is no longer used in vile, though it is provided for compatibility. _v_i_l_e currently uses the _c_r_y_p_t_(_3_) function for encryption/decryption, which is available on most Unix systems. This ensures that _v_i_l_e is able to read and write files compatibly with vi (but not vim, which uses an different algorithm derived from info-zip). The editor's encryption/decryption key can be specified on the command line with "-k key". Text to be encrypted can be specified as filenames on the com- mand line, or provided as the standard input. On systems with a get- pass() library routine, the user will be prompted for the encryption key if it is not given on the command line. To accommodate systems (such as linux) where the getpass() library routine is not interrupt- ible from the keyboard, entering a crypt-key password which ends in ^C will cause the program to quit. See the help file for more information on _v_i_l_e's encryption support, including a discussion of a collection of macros that interface with GNU's gpg package. EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS VVIILLEEIINNIITT Editor initialization commands in lieu of a startup file. These are copied into _[_v_i_l_e_i_n_i_t_], and executed. VVIILLEE__HHEELLPP__FFIILLEE Override the name of the help file, normally ``vile.hlp''. VVIILLEE__LLIIBBDDIIRR__PPAATTHH Augment $PATH when searching for a filter program. VVIILLEE__SSTTAARRTTUUPP__FFIILLEE Override the name of the startup file, normally ``.vilerc'' (or ``vile.rc'' for non-UNIX systems). VVIILLEE__SSTTAARRTTUUPP__PPAATTHH Override the search path for the startup and help files. SSEEEE AALLSSOO Your favorite vi document, the file _m_a_c_r_o_s_._d_o_c, and the _v_i_l_e help page, available with the _-_h option or as the text file _v_i_l_e_._h_l_p. DDEEBBTTSS aanndd CCRREEDDIITTSS _v_i_l_e was originally built from a copy of microEmacs, so a large debt of gratitude is due to the developers of that program. A lot of people have helped with code and bug reports on _v_i_l_e. Names are named at the bottom of the help file. AAUUTTHHOORRSS _v_i_l_e was created by Paul Fox, Tom Dickey, and Kevin Buettner. BBUUGGSS The "VVII LLike EEmacs" joke isn't really funny. It only sounds that way. :-) Other suspicious behavior should be reported via the project mailing list, or via the web-based bug reporting system. Both of these are available here: https://savannah.nongnu.org/projects/vile VILE(1)