Question

I'm a new user of NERD tree in Vim and am obviously not that much familiar with its features.

When I'm using :NERDTreeToggle, the sidebar window always opens my home directory, ~. How can I change the default directory (like open a project in Sublime Text)?

Also, how can I keep this sidebar window open in all of the new tab windows (something like the Sublime Text sidebar)? Or at least, is there another alternative to this task?

Was it helpful?

Solution 2

Vim has no concept of "project".

The closest you can get without installing clunky plugins is the "current directory": when you start Vim, the "current directory" is set to the directory where you started Vim.

In your shell, this is easy to manage:

    $ cd /path/to/project
    $ vim
    :pwd --> /path/to/project

If you use gVim or MacVim, the "current directory" is usually set automatically to $HOME if you start Vim without a file so, either you find a way to start Vim in an arbitrary directory or you use :cd /path/to/dir as soon as possible.

Without argument, the :NERDTree* commands open the NERD tree window in the "current directory".

You can use :NERDTreeToggle /path/to/dir to make it display the content of a specific directory.

Or you can make sure you start Vim from your project's directory and NERD tree will do what you want it to do.

OTHER TIPS

In your .vimrc file, add the following code, which will by default open Vim with a NERD tree sidebar of the current directory. So if you are in the projects directory and you type "vim" it will open Vim with a sidebar on the left showing all the files and directories in the projects folder

autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif

If you want toggle on and off the sidebar, just add this into your .vimrc file so that if you want to toggle the sidebar, just type Ctrl + N:

map <C-n> :NERDTreeToggle<CR>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top