NERDTree with git status support (DEPRECATED)
Clone or download
Pull request Compare This branch is 112 commits ahead, 445 commits behind scrooloose:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore gitignore tags file May 17, 2008


The git-NERDTree


This project WILL NOT be maintained any longer!

The new repo nerdtree-git-plugin does the same work and what's more it's not a fork version but a dependent plugin of NERDTree which means you should use it with NERDTree at the same time.

Thank you for your attention.

New Feature

Add git status support for NERDTree.You can indicate a file's git status, quickly see which files you have staged, unstaged and modified, or deleted in your project without any extra work.



  • / * : Untracked
  • / ~ : Modified in the working tree
  • / + : Staged in the index (Exclude Renamed status)
  • / » : Renamed
  • / = : Unmerged
  • / - : Deleted (This indicator can't be shown, as NERDTree doesn't display deleted files. I have no prefect idea to solve this problem currently.)
  • / × : Dirty (Only for directory)
  • / ø : Clean (Only for root directory)

Option let g:NERDTreeUseSimpleIndicator = 1 to show the simple indicator.

Key mapping

As the same as GitGutter plugin default.

  • ]c : Jump to next indicator
  • [c : Jump to prev indicator

You can set g:NERDTreeMapNextHunk and g:NERDTreeMapPrevHunk variables to your prefer keys. e.g.

let g:NERDTreeMapNextHunk = ",n"

let g:NERDTreeMapPrevHunk = ",p"

Status Refresh

Add, Delete, Move and Copy actions through the m menu will refresh git status indicators automatically.

File modified, stage or commit actions through vim-fugitive plugin won't active the status refreshing, this is because that NERDTree itself doesn't support auto refreshing function. You should press r or R to refresh the tree view by yourself after these actions.


It's NOT a plugin of NERDTree, but an enhance version.

More Info

See details in