*usr_06.txt*	For Vim version 7.0aa.  Last change: 2006 Feb 16

		     VIM USER MANUAL - by Bram Moolenaar

			  Using syntax highlighting


Black and white text is boring.  With colors your file comes to life.  This
not only looks nice, it also speeds up your work.  Change the colors used for
the different sorts of text.  Print your text, with the colors you see on the
screen.

|06.1|	Switching it on
|06.2|	No or wrong colors?
|06.3|	Different colors
|06.4|	With colors or without colors
|06.5|	Printing with colors
|06.6|	Further reading

     Next chapter: |usr_07.txt|  Editing more than one file
 Previous chapter: |usr_05.txt|  Set your settings
Table of contents: |usr_toc.txt|

==============================================================================
*06.1*	Switching it on

It all starts with one simple command: >

	:syntax enable

That should work in most situations to get color in your files.  Vim will
automagically detect the type of file and load the right syntax highlighting.
Suddenly comments are blue, keywords brown and strings red.  This makes it
easy to overview the file.  After a while you will find that black&white text
slows you down!

If you always want to use syntax highlighting, put the ":syntax enable"
command in your |vimrc| file.

If you want syntax highlighting only when the terminal supports colors, you
can put this in your |vimrc| file: >

	if &t_Co > 1
	   syntax enable
	endif

If you want syntax highlighting only in the GUI version, put the ":syntax
enable" command in your |gvimrc| file.

==============================================================================
*06.2*	No or wrong colors?

There can be a number of reasons why you don't see colors:

- Your terminal does not support colors.
	Vim will use bold, italic and underlined text, but this doesn't look
	very nice.  You probably will want to try to get a terminal with
	colors.  For Unix, I recommend the xterm from the XFree86 project:
	|xfree-xterm|.

- Your terminal does support colors, but Vim doesn't know this.
	Make sure your $TERM setting is correct.  For example, when using an
	xterm that supports colors: >

		setenv TERM xterm-color
<
	or (depending on your shell): >

		TERM=xterm-color; export TERM

<	The terminal name must match the terminal you are using.  If it
	still doesn't work, have a look at |xterm-color|, which shows a few
	ways to make Vim display colors (not only for an xterm).

- The file type is not recognized.
	Vim doesn't know all file types, and sometimes it's near to impossible
	to tell what language a file uses.  Try this command: >

		:set filetype
<
	If the result is "filetype=" then the problem is indeed that Vim
	doesn't know what type of file this is.  You can set the type
	manually: >

		:set filetype=fortran

<	To see which types are available, look in the directory
	$VIMRUNTIME/syntax.  For the GUI you can use the Syntax menu.
	Setting the filetype can also be done with a |modeline|, so that the
	file will be highlighted each time you edit it.  For example, this
	line can be used in a Makefile (put it near the start or end of the
	file): >

		# vim: syntax=make

<	You might know how to detect the file type yourself.  Often the file
	name extension (after the dot) can be used.
	See |new-filetype| for how to tell Vim to detect that file type.

- There is no highlighting for your file type.
	You could try using a similar file type by manually setting it as
	mentioned above.  If that isn't good enough, you can write your own
	syntax file, see |mysyntaxfile|.


Or the colors could be wrong:

- The colored text is very hard to read.
	Vim guesses the background color that you are using.  If it is black
	(or another dark color) it will use light colors for text.  If it is
	white (or another light color) it will use dark colors for text.  If
	Vim guessed wrong the text will be hard to read.  To solve this, set
	the 'background' option.  For a dark background: >

		:set background=dark

<	And for a light background: >

		:set background=light

<	Make sure you put this _before_ the ":syntax enable" command,
	otherwise the colors will already have been set.  You could do
	":syntax reset" after setting 'background' to make Vim set the default
	colors again.

- The colors are wrong when scrolling bottom to top.
	Vim doesn't read the whole file to parse the text.  It starts parsing
	wherever you are viewing the file.  That saves a lot of time, but
	sometimes the colors are wrong.  A simple fix is hitting CTRL-L.  Or
	scroll back a bit and then forward again.
	For a real fix, see |:syn-sync|.  Some syntax files have a way to make
	it look further back, see the help for the specific syntax file.  For
	example, |tex.vim| for the TeX syntax.

==============================================================================
*06.3*	Different colors				*:syn-default-override*

If you don't like the default colors, you can select another color scheme.  In
the GUI use the Edit/Color Scheme menu.  You can also type the command: >

	:colorscheme evening

"evening" is the name of the color scheme.  There are several others you might
want to try out.  Look in the directory $VIMRUNTIME/colors.

When you found the color scheme that you like, add the ":colorscheme" command
to your |vimrc| file.

You could also write your own color scheme.  This is how you do it:

1. Select a color scheme that comes close.  Copy this file to your own Vim
   directory.  For Unix, this should work: >

	!mkdir ~/.vim/colors
	!cp $VIMRUNTIME/colors/morning.vim ~/.vim/colors/mine.vim
<
   This is done from Vim, because it knows the value of $VIMRUNTIME.

2. Edit the color scheme file.  These entries are useful:

	term		attributes in a B&W terminal
	cterm		attributes in a color terminal
	ctermfg		foreground color in a color terminal
	ctermbg		background color in a color terminal
	gui		attributes in the GUI
	guifg		foreground color in the GUI
	guibg		background color in the GUI

   For example, to make comments green: >

	:highlight Comment ctermfg=green guifg=green
<
   Attributes you can use for "cterm" and "gui" are "bold" and "underline".
   If you want both, use "bold,underline".  For details see the |:highlight|
   command.

3. Tell Vim to always use your color scheme.  Put this line in your |vimrc|: >

	colorscheme mine

If you want to see what the most often used color combinations look like, use
this command: >

	:runtime syntax/colortest.vim

You will see text in various color combinations.  You can check which ones are
readable and look nice.

==============================================================================
*06.4*	With colors or without colors

Displaying text in color takes a lot of effort.  If you find the displaying
too slow, you might want to disable syntax highlighting for a moment: >

	:syntax clear

When editing another file (or the same one) the colors will come back.

							*:syn-off*
If you want to stop highlighting completely use: >

	:syntax off

This will completely disable syntax highlighting and remove it immediately for
all buffers.

							*:syn-manual*
If you want syntax highlighting only for specific files, use this: >

	:syntax manual

This will enable the syntax highlighting, but not switch it on automatically
when starting to edit a buffer.  To switch highlighting on for the current
buffer, set the 'syntax' option: >

	:set syntax=ON
<
==============================================================================
*06.5*	Printing with colors				*syntax-printing*

In the MS-Windows version you can print the current file with this command: >

	:hardcopy

You will get the usual printer dialog, where you can select the printer and a
few settings.  If you have a color printer, the paper output should look the
same as what you see inside Vim.  But when you use a dark background the
colors will be adjusted to look good on white paper.

There are several options that change the way Vim prints:
	'printdevice'
	'printheader'
	'printfont'
	'printoptions'

To print only a range of lines,  use Visual mode to select the lines and then
type the command: >

	v100j:hardcopy

"v" starts Visual mode.  "100j" moves a hundred lines down, they will be
highlighted.  Then ":hardcopy" will print those lines.  You can use other
commands to move in Visual mode, of course.

This also works on Unix, if you have a PostScript printer.  Otherwise, you
will have to do a bit more work.  You need to convert the text to HTML first,
and then print it from a web browser such as Netscape.

Convert the current file to HTML with this command: >

	:source $VIMRUNTIME/syntax/2html.vim

You will see it crunching away, this can take quite a while for a large file.
Some time later another window shows the HTML code.  Now write this somewhere
(doesn't matter where, you throw it away later):
>
	:write main.c.html

Open this file in your favorite browser and print it from there.  If all goes
well, the output should look exactly as it does in Vim.  See |2html.vim| for
details.  Don't forget to delete the HTML file when you are done with it.

Instead of printing, you could also put the HTML file on a web server, and let
others look at the colored text.

==============================================================================
*06.6*	Further reading

|usr_44.txt|  Your own syntax highlighted.
|syntax|      All the details.

==============================================================================

Next chapter: |usr_07.txt|  Editing more than one file

Copyright: see |manual-copyright|  vim:tw=78:ts=8:ft=help:norl:
