web-dev-qa-db-ja.com

vimでNERDTreeを自動開く

Vimが呼び出されるたびに.vimrcにNERDTreeを自動で開く方法を誰かが知っていますか?オペレーティングシステムは* nixです。

32
varnie
 au VimEnter *  NERDTree

あなたのvimrcでそれを行う必要があります

:背景用のautocmd.txt

57
michael

コマンドラインにファイルがない場合にのみ、NerdTreeを開くこともできます。

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

autocmd VimEnter * call StartUp()

Ovidによるブログ投稿 から取得。

39
zoul

ファイル引数が提供されていないときにNERDTreeを開くための1つのライナーは

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

上記のコードは、引数が指定されていないかどうかをチェックしてから、NERDTreeを開きます。

6
Rahul

@zoulの答えに基づいて、私の場合、ディレクトリを指定するか何も指定しない場合はデフォルトでNERDTreeを開き、単一のファイルを指定する場合は開かないようにしたかったので、次のようになりました。

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()
0
Kirkland