xvile performs extra initialization for its menus, before the other steps:
(xvile only) Use the value of the XVILE_MENU environment variable for the name of the menu description file, if provided. Otherwise, it uses .vilemenu. This file sets the default menus for the X11 interface.
After that, the different versions vile, xvile and winvile perform the same two-stage initialization. The first stage uses a mixture of environment variables and files:
Execute the file named on the command line with @cmdfile options, if any. Bypass any other initialization steps that would otherwise be done.
If the VILEINIT environment variable exists, execute its value. Otherwise, look for an initialization file.
If the VILE_STARTUP_FILE environment variable exists, use that as the name of the startup file. If not, on UNIX use .vilerc, on other systems use vile.rc.
Look for the startup file in the current directory, and then in the user's home directory. Use whichever one is found first.
The second stage uses the initialization commands:
Load the first file specified on the command-line into a memory buffer.
Execute the commands given with -c options, applying them by default to the first file.
Like the other clones, vile lets you place common initialization actions into your .exrc file (i.e., options and commands for UNIX vi, and/or the other clones), and use your .vilerc file to execute :source .exrc before or after the vile-specific initializations.
winvile's menus are not configurable; they provide features which are only supported in Win32.