NERDTreeを.vimrcに追加する方法


118

NERDTreeを.vimrcに追加するにはどうすればよいですか?


回答を更新しました。それを.vimrcに追加して必要なことを実行できるかどうかはわかりませんが、コマンドラインから自動的にNERDTreeを開く方法でvimを実行できます。:)
Steven Kryskalla

回答:


199

さて、以前のバージョンは少し簡潔でしたが、あなたが探している答えは、~/.vimrcファイルに以下の行を追加することです。これは、Vimの起動時に実行するコマンドをセットアップすることをVimに伝えますが、ロードするさまざまなプラグインに依存しているため、すべての初期化が完了するまで実行しないでください。

autocmd VimEnter * NERDTree

ただし、カーソルが常にNERDTreeウィンドウで開始するという事実に不満がある場合は、カーソルをメインウィンドウに移動する2番目の自動コマンドを追加できます。

autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p

理由はわかりませんが、うまくいきません。とにかくオタクを表示するには、vim内で:NERDTreeToggleを呼び出す必要があります
hgf

vimpagerのようなスクリプトを使用している場合は、これらの行を/.vim/after/plugin/NERD_tree.vimスクリプトに移動して、プラグインをオフにして実行しようとしないようにする必要があります。
ジョシュアオルソン

9
:あなたは、2つの別々のautocmdの必要はありませんautocmd VimEnter * NERDTree | wincmd p
デイヴ・ジェームス・ミラー

開始したい実際のパスを単純に指定できますか?
-Yup

1
私は次のことをすることを好みます: autocmd VimEnter * NERDTreeそして autocmd VimEnter * if argc() | wincmd p | endif。このように、特定のファイルを開いていない場合、カーソルはNERDTreeにありますが、ファイルを選択した場合は、メインウィンドウで開始します。
user2275806

20

ファイル引数なしでvimを起動したときにのみNERDTreeを表示したいので、これを.vimrcに追加しました。

autocmd VimEnter * if !argc() | NERDTree | endif

19

Windowsまたはunix-yシステムを使用していますか?

unix-yシステムを使用している場合は、プラグインをに配置します~/.vim/plugin。プラグインディレクトリは次のようになります。

$ ls ~/.vim/plugin
NERD_tree.vim  scratch.vim  scratchfind.vim

その後すぐに動作し始めます。次のようにvimを実行してみてください。

$ vim .

NERDツリービューで現在のディレクトリを開く必要があります。

Windowsを使用している場合は、ここにプラグインを配置します。 C:\Program Files\Vim\vim70\plugin


vimの起動時にNERDTreeが自動的に読み込まれるようにするには、コマンドラインから次のように実行します。

$ vim -c "NERDTree" some_file.txt

これのエイリアスを次のように設定できます.bashrc

alias vimt='vim -c "NERDTree" $1'

これでvimt(の代わりにvim)実行するたびに、ウィンドウの左側にNERDTreeも開きます。

.vimrc次の方法でNERDTreeを起動するショートカットキーを追加することもできます。

function OpenNERDTree()
  execute ":NERDTree"
endfunction
command -nargs=0 OpenNERDTree :call OpenNERDTree()

nmap <ESC>t :OpenNERDTree<CR>

あなたがヒットしたときに今、EscそしてtそれはオープンNERDTreeをポップアップ表示されます。


Unix-yマシンを実行しています。NERDTreeをインストールしました。コマンドラインでvimと入力したときにNERDTreeを起動する必要があります。そのため、Textmateの場合のように、ファイルブラウザは常に左側に開きます。これを行うためにvimrcに何を入れればよいかわからないので、:NERDTreeを試しましたが、コマンドを認識できないようです...
chutsu

2
:NERDTreeToggle組み込みのマッピングがあり、カスタム関数を冗長にすることができると思います。
ギャビンギルモア

1
優れたヒントalias vimt='vim -c "NERDTree" $1'
ペドロサウリオ2013年

8

パーNERDTree命令あなただけ使用することができpathogen.vimを。それをインストールします:

mkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -Sso ~/.vim/autoload/pathogen.vim \
        https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim

これを.vimrcに追加します。

execute pathogen#infect()

次にNERDTreeをインストールします。

cd ~/.vim/bundle
git clone https://github.com/scrooloose/nerdtree.git

そして、Vimの起動時に自動的にNERDTreeを開きたい場合は、.vimrcに以下を追加してください:

autocmd vimenter * NERDTree

7

ここでの答えは小さな問題があります。

vimpagerなどのモードをvim --noplugin使用するスクリプトを呼び出すか使用すると、次のエラーが発生します。--noplugin

Error detected while processing VimEnter Auto commands for "*":
E492: Not an editor command: NERDTree

これを回避するには、~/.vim/after/plugin/NERD_tree.vim代わりに次のコマンドを入力します。

autocmd VimEnter * NERDTree

そして、それがNERDtree同様に利用可能であることをテストすることも良い考えかもしれません、すなわち:

if exists("loaded_nerd_tree")
    autocmd VimEnter * NERDTree
endif

1
Good One ... Vimをポケットベルとして使用し、自動コマンドを無効にする引数を追加しただけです... export MANPAGER='col -bx | mvim -c ":set ft=man nonu nolist" -c ":autocmd!" -M -R - > /dev/null 2>&1'
Eddie B

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.