Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VILE(1)				 User commands			       VILE(1)

NAME
       vile, xvile, uxvile, lxvile - VI	Like Emacs

SYNOPSIS
       vile  [@cmdfile]	[+command] [-FhIiRVv] [-gNNN] [-kcryptkey] [-spattern]
       [-ttag] [filename]...

DESCRIPTION
       vile is a text editor.  This man	page is	fairly terse.	More  informa-
       tion  can be obtained from the internal help, available with the	-h op-
       tion or by using	the ":help" command from within	vile.

       xvile is	the same text editor, built as an X-windows application,  with
       fully integrated	mouse support, scrollbars, etc.

       uxvile  is a wrapper around xvile which invokes the latter program with
       the correct locale environment required to use a	unicode	character  set
       and the "UXVile"	X resource class set.

       lxvile  is a wrapper around xvile which invokes the latter program with
       a font chosen to	match the current locale environment.

SPIRIT
       vile retains the	"finger-feel" if you will, of  vi,  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, de-
       pending	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 vile tries	to do for vi users.

OPTIONS
       Vile accumulates	most options into two temporary	buffers	[vileinit] and
       [vileopts].  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).

   COMMON OPTIONS
       -ccommand
	      vile 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 ":" sep-
	      arates the repeat	count (used by goto-col)  from	the  line-  or
	      range-specification used by line-oriented	commands.

       @cmdfile
	      vile  will  run the specified file as its	startup	file, and will
	      bypass any normal	startup	file (i.e.   .vilerc)  or  environment
	      variable (i.e.  $VILEINIT).  This	is added to [vileinit].

       -D     tells vile to trace the results of macro execution into the hid-
	      den buffer "[Trace]".

       -e | -E
	      Invokes  vile  in	 "noview"  mode	- changes are permitted	to any
	      buffer while in this mode	(see "-v".

       -F     will run the syntax filter that applies to each filename on  the
	      command-line, and	write the attributed text to the standard out-
	      put.

       -h     Invokes  vile  on	the helpfile.  See "-?"	for a short usage mes-
	      sage.

       -i | -I
	      Tells vile to use	vileinit.rc (which is installed) as  the  ini-
	      tialization  file.  If you do not	have a .vilerc,	vile will make
	      a	 short	one  that  sources  vileinit.rc	 This  is   added   to
	      [vileinit].

       -k cryptkey | -K	cryptkey
	      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 [vileopts], since
	      that is executed too late.

       -R     Invokes  vile in "readonly" mode - no writes are permitted while
	      in this mode.  (This will	also be	true if	 vile  is  invoked  as
	      view, or if "readonly" mode is set in the	startup	file.)

       -s pattern | -S pattern
	      In  the  first file, vile	will execute an	initial	search for the
	      given pattern.  This is not the same as "-c/pattern" since  that
	      positions	the cursor to the line matching	the pattern.  This op-
	      tion positions the cursor	within the line.

       -t tag
	      vile will	edit the correct file and move the cursor to the loca-
	      tion  of	the  tag.   This  requires a tagsfile created with the
	      ctags(1) command.	 The option -T is equivalent, and can be  used
	      when X11 option parsing eats the -t.

       -U     overrides	the $system-crlf variable, making new buffers start in
	      dos mode.

       -u     overrides	the $system-crlf variable, making new buffers start in
	      nodos mode.

       -v     Invokes  vile  in	 "view"	mode - no changes are permitted	to any
	      buffer while in this mode	(see "-e".

       -V     vile will	report its version number.

       -?     If an option is not recognized (or the  special  option  "?"  is
	      given),  vile  prints  a	short usage message.  Normally that is
	      sent to the standard output.  The	GUI winvile displays this  in-
	      formation	in a window.

   SCREENSIZE OPTIONS
       Screensize can be set from the command line for certain configurations:

       -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 vile.hlp	for details.

   X11 OPTIONS
       xvile-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.

   OBSOLETE OPTIONS
       vile recognizes some options which duplicate the	functionality  of  the
       POSIX "-c" option:

       +command
	      This has the same	effect as "-ccommand"

       -g NNN |	-G NNN
	      This  has	the same effect	as "-cNNN" vile	will begin the session
	      on the first file	jumping	to the given line number NNN.

INVOCATION
       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.

STARTUP
       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 VILEINIT variable, if it is set,
       from  the  file .vilerc in the current directory, if it exists, or from
       $HOME/.vilerc, as a last	resort.	 See the help  file  for  examples  of
       what sorts of things might go into these	command	files.

COMMANDS
       Please  refer  to the help available within vile	for vile-specific com-
       mands.  (That document, however,	assumes	familiarity with  vi.)	 Short
       descriptions  of	 each  vile  command  may  be  obtained	with the ":de-
       scribe-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 macros.doc, distributed with the vile
       source.

RELATED	PROGRAMS
   xvile
       vile may	also be	built and installed as xvile, 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 in the section X Window Sys-
       tem specifics.

   vile-manfilt
       There is	a program distributed with the vile source  which  is  usually
       installed  as vile-manfilt.  It may be used in conjunction with vile or
       xvile (with the help of the macros in the file  manpage.rc)  to	filter
       and  view  system  manual  pages.   xvile 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 section on Filtering "man" pages for details.

   Syntax filters
       Likewise,  there	are several language filters, e.g., vile-c-filt	for C,
       which can embolden, underline, or perform coloring  on  program	source
       code.

       Again,  see  the	help file section on Syntax Coloring for more informa-
       tion.

UTILITY	SCRIPTS
       Vile is not simply an interactive program.  Its macro language and  use
       of environment variables	lets it	be useful in scripting.

   vile-libdir-path
       The  syntax  filters  and  vile-manfilt	may not	be installed where you
       would execute them in your PATH.	 The vile-libdir-path script looks  in
       the  usual  places  and	prints	an  updated  PATH variable which other
       scripts can use when executing these programs.

   vile-pager
       Vile can	be used	as a pager (typical examples include more  and	less).
       This  script  uses  vile-manfilt	to preprocess a	file which is piped to
       vile, adding markup which vile displays properly.

       Unlike a	typical	pager, vile-pager handles multi-line color escape  se-
       quences,	 and  multiple	levels	of  overstrikes.  But unlike a typical
       pager, vile-pager expects the pipe to be	closed before it  starts  dis-
       playing.

   vile-to-html
       Vile's  "-F"  option makes it act like a	smart interface	to the collec-
       tion of syntax filters.	But its	output	uses  vile's  internal	markup
       rather  than  standard escape sequences.	 Vile's	utilities include pro-
       grams which translate that markup into different	formats:

       atr2ansi
	      converts the markup to ANSI escape sequences.

       atr2html
	      converts the markup to HTML (with	color).

       atr2text
	      converts the markup to plain text.

       The vile-to-html	script uses atr2html to	convert	a text file into  HTML
       using color.

ENCRYPTION
       The  program  vile-crypt	can be used to encrypt/decrypt files using the
       same algorithm as microEmac's internal crypt algorithm.	This  program,
       which  uses  public  domain  code written by Dana Hoggatt, is no	longer
       used in vile, though it is provided for compatibility.

       vile currently uses the crypt(3)	 function  for	encryption/decryption,
       which  is  available  on	 most Unix systems.  This ensures that vile 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 en-
       cryption/decryption key can be specified	on the command line  with  "-k
       key"  Text to be	encrypted can be specified as filenames	on the command
       line, or	provided as the	standard input.

       On systems with a getpass() library routine, the	user will be  prompted
       for  the	encryption key if it is	not given on the command line.	To ac-
       commodate systems (such as linux) where the getpass()  library  routine
       is  not	interruptible 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  vile's  encryption  support,
       including  a  discussion	 of a collection of macros that	interface with
       GNU's gpg package.

ENVIRONMENT VARIABLES
       VILEINIT
	      Editor initialization commands in	lieu of	a startup file.	 These
	      are copied into [vileinit], and executed.

       VILE_HELP_FILE
	      Override the name	of the help file, normally "vile.hlp".

       VILE_LIBDIR_PATH
	      Augment $PATH when searching for a filter	program.

       VILE_STARTUP_FILE
	      Override the name	of the startup file,  normally	".vilerc"  (or
	      "vile.rc"	for non-UNIX systems).

       VILE_STARTUP_PATH
	      Override the search path for the startup and help	files.

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

DEBTS and CREDITS
       vile 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	vile.  Names are named at  the
       bottom of the help file.

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

BUGS
       The  "VI	Like Emacs" joke isn't really funny.  It only sounds that way.
       :-) Other suspicious behavior should be reported	via the	project	 mail-
       ing list, or via	the web-based bug reporting system.  Both of these are
       available here:

       https://savannah.nongnu.org/projects/vile

VI-Like-Emacs			  2023-07-02			       VILE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=vile-libdir-path&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help