Suppose you have your include files located in "c:/prog/include". This
command will add it to the 'path' option: >
:set path+=c:/prog/include
This directory is an absolute path. No matter where you are, it will be the
same place. What if you have located files in a subdirectory, below where the
file is? Then you can specify a relative path name. This starts with a dot:
>
:set path+=./proto
This tells Vim to look in the directory "proto", below the directory where the
file in which you use "gf" is. Thus using "gf" on "inits.h" will make Vim
look for "proto/inits.h", starting in the directory of the file.
Without the "./", thus "proto", Vim would look in the "proto" directory
below the current directory. And the current directory might not be where the
file that you are editing is located.
The 'path' option allows specifying the directories where to search for files
in many more ways. See the help on the 'path' option.
The 'isfname' option is used to decide which characters are included in the
file name, and which ones are not (e.g., the " character in the example
above).
When you know the file name, but it's not to be found in the file, you can
type it: >
:find inits.h
Vim will then use the 'path' option to try and locate the file. This is the
same as the ":edit" command, except for the use of 'path'.
To open the found file in a new window use CTRL-W f instead of "gf", or use
":sfind" instead of ":find".
A nice way to directly start Vim to edit a file somewhere in the 'path': >
vim "+find stdio.h"
This finds the file "stdio.h" in your value of 'path'. The quotes are
necessary to have one argument |-+c|.
==============================================================================
*22.4* The buffer list
The Vim editor uses the term buffer to describe a file being edited.
Actually, a buffer is a copy of the file that you edit. When you finish
changing the buffer, you write the contents of the buffer to the file.
Buffers not only contain file contents, but also all the marks, settings, and
other stuff that goes with it.
HIDDEN BUFFERS
Suppose you are editing the file one.txt and need to edit the file two.txt.
You could simply use ":edit two.txt", but since you made changes to one.txt
that won't work. You also don't want to write one.txt yet. Vim has a
solution for you: >
:hide edit two.txt
The buffer "one.txt" disappears from the screen, but Vim still knows that you
are editing this buffer, so it keeps the modified text. This is called a
hidden buffer: The buffer contains text, but you can't see it.
The argument of ":hide" is another command. ":hide" makes that command
behave as if the 'hidden' option was set. You could also set this option
yourself. The effect is that when any buffer is abandoned, it becomes hidden.
Be careful! When you have hidden buffers with changes, don't exit Vim
without making sure you have saved all the buffers.
INACTIVE BUFFERS
When a buffer has been used once, Vim remembers