*os_unix.txt*   For Vim version 9.0.  Last change: 2022 Nov 25


		  VIM REFERENCE MANUAL    by Bram Moolenaar


							*unix* *Unix*
This file contains the particularities for the Unix version of Vim.

For compiling Vim on Unix see "INSTALL" and "Makefile" in the src directory.

The default help file name is "/usr/local/lib/vim/help.txt"
The files "$HOME/.vimrc" and "$HOME/.exrc" are used instead of "s:.vimrc" and
"s:.exrc".  Additionally "/usr/local/etc/vimrc" is used first.
If "/usr/local/share" exists it is used instead of "/usr/local/lib".

Temporary files (for filtering) are put in "/tmp".  If you want to place them
somewhere else, set the environment variable $TMPDIR to the directory you
prefer.

With wildcard expansion you can use '~' (home directory) and '$'
(environment variable).

							*fork* *spoon*
For executing external commands fork()/exec() is used when possible, otherwise
system() is used, which is a bit slower.  The output of ":version" includes
|+fork| when fork()/exec() is used, |+system()| when system() is used.  This
can be changed at compile time.
(For forking of the GUI version see |gui-fork|.)

For historic reasons terminal updating under Unix is expected to be slow (e.g.
serial line terminal, shell window in suntools), the 'showcmd' and 'ruler'
options are off by default.  If you have a fast terminal, try setting them
on: >
	set showcmd ruler

When using Vim in an xterm the mouse clicks can be used by Vim by setting
'mouse' to "a".  If there is access to an X-server gui style copy/paste will
be used and visual feedback will be provided while dragging with the mouse.
If you then still want the xterm copy/paste with the mouse, press the shift
key when using the mouse.  See |mouse-using|.  Visual feedback while dragging
can also be achieved via the 'ttymouse' option if your xterm is new enough.

							*terminal-colors*
To use colors in Vim you can use the following example (if your terminal
supports colors, but "T_Co" is empty or zero): >
   :set t_me=^[[0;1;36m     " normal mode (undoes t_mr and t_md)
   :set t_mr=^[[0;1;33;44m  " reverse (invert) mode
   :set t_md=^[[1;33;41m    " bold mode
   :set t_se=^[[1;36;40m    " standout end
   :set t_so=^[[1;32;45m    " standout mode
   :set t_ue=^[[0;1;36m     " underline end
   :set t_us=^[[1;32m       " underline mode start
[the ^[ is an <Esc>, type CTRL-V <Esc> to enter it]

For real color terminals the ":highlight" command can be used.

The file "tools/vim132" is a shell script that can be used to put Vim in 132
column mode on a vt100 and lookalikes.

 vim:tw=78:ts=8:noet:ft=help:norl:
