Question

Does someone know how to force .vimrc to auto-open NERDTree each time vim is invoked? The operation system is *nix.

Was it helpful?

Solution

 au VimEnter *  NERDTree

in your vimrc should do it

:he autocmd.txt for background

OTHER TIPS

You can also only open Nerd Tree when there was no file on the command line:

function! StartUp()
    if 0 == argc()
        NERDTree
    end
endfunction

autocmd VimEnter * call StartUp()

Taken from a blog post by Ovid.

One liner to open NERDTree when no file argument provided would be

autocmd vimenter * if !argc() | NERDTree | endif
OR
au vimenter * if !argc() | NERDTree | endif

The above code just checks if no argument is provided then open NERDTree.

Building on @zoul's answer, I in my case I wanted NERDTree to be open by default if I specify a directory or if I specify nothing, and not be open if I specify a single file, so I ended up with:

function! StartUp()
    if !argc() && !exists("s:std_in")
        NERDTree
    end
    if argc() && isdirectory(argv()[0]) && !exists("s:std_in")
        exe 'NERDTree' argv()[0]
        wincmd p
        ene
    end
endfunction

autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * call StartUp()
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top