web-dev-qa-db-ja.com

vimrcにNERDTreeをどのように追加しますか?

どうやってやるの?

116
chutsu

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

autocmd VimEnter * NERDTree

ただし、カーソルが常にNERDTreeウィンドウで開始するという事実に悩まされている場合は、次のように、メインウィンドウにカーソルを移動する2番目のオートコマンドを追加できます。

autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p
198
Douglas Mayle

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

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

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がポップされます。

19

https://github.com/scrooloose/nerdtree の指示に従って、pathogen.vimを使用できます( https://github.com/tpope/vim-pathogen )。病原体をインストールする:

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
8
TenJack
" NERD Tree
nmap <silent> <special> <F2> :NERDTreeToggle<RETURN>
7
SergioAraujo

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

vim --nopluginを呼び出すか、 vimpager などの--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
7
Mikel