|netrw-browse| for more.
==============================================================================
*22.2* The current directory
Just like the shell, Vim has the concept of a current directory. Suppose you
are in your home directory and want to edit several files in a directory
"VeryLongFileName". You could do: >
:edit VeryLongFileName/file1.txt
:edit VeryLongFileName/file2.txt
:edit VeryLongFileName/file3.txt
To avoid much of the typing, do this: >
:cd VeryLongFileName
:edit file1.txt
:edit file2.txt
:edit file3.txt
The ":cd" command changes the current directory. You can see what the current
directory is with the ":pwd" command: >
:pwd
/home/Bram/VeryLongFileName
Vim remembers the last directory that you used. Use "cd -" to go back to it.
Example: >
:pwd
/home/Bram/VeryLongFileName
:cd /etc
:pwd
/etc
:cd -
:pwd
/home/Bram/VeryLongFileName
:cd -
:pwd
/etc
WINDOW LOCAL DIRECTORY
When you split a window, both windows use the same current directory. When
you want to edit a number of files somewhere else in the new window, you can
make it use a different directory, without changing the current directory in
the other window. This is called a local directory. >
:pwd
/home/Bram/VeryLongFileName
:split
:lcd /etc
:pwd
/etc
CTRL-W w
:pwd
/home/Bram/VeryLongFileName
So long as no `:lcd` command has been used, all windows share the same current
directory. Doing a `:cd` command in one window will also change the current
directory of the other window.
For a window where `:lcd` has been used a different current directory is
remembered. Using `:cd` or `:lcd` in other windows will not change it.
When using a `:cd` command in a window that uses a different current
directory, it will go back to using the shared directory.
TAB LOCAL DIRECTORY
When you open a new tab page, it uses the directory of the window in the
previous tab page from which the new tab page was opened. You can change the
directory of the current tab page using the `:tcd` command. All the windows in
a tab page share this directory except for windows with a window-local
directory. Any new windows opened in this tab page will use this directory as
the current working directory. Using a `:cd` command in a tab page will not
change the working directory of tab pages which have a tab local directory.
When the global working directory is changed using the `:cd` command in a tab
page, it will also change the current tab page working directory.
==============================================================================
*22.3* Finding a file
You are editing a C program that contains this line:
#include "inits.h" ~
You want to see what is in that "inits.h" file. Move the cursor on the name
of the file and type: >
gf
Vim will find the file and edit it.
What if the file is not in the current directory? Vim will use the 'path'
option to find the file. This option is a list of directory names where to
look for your file.
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