/nerdtree-git-plugin

A plugin of NERDTree showing git status

Primary LanguageVim ScriptDo What The F*ck You Want To Public LicenseWTFPL

nerdtree-git-plugin

Github Action License: WTFPL GitHub contributors

A plugin of NERDTree showing git status flags.

The original project git-nerdtree will not be maintained any longer.

Imgur

Installation

Use your favorite package manager. Here is the example of using vim-plug

Plug 'preservim/nerdtree' |
            \ Plug 'Xuyuanp/nerdtree-git-plugin'

FAQ

Got error message like Error detected while processing function 177[2]..178[22]..181[7]..144[9]..142[36]..238[4]..NERDTreeGitStatusRefreshListener[2]..NERDTreeGitStatusRefresh: line 6: E484: Can't open file /tmp/vZEZ6gM/1 while nerdtree opening in fish, how to resolve this problem?

This was because that vim couldn't execute system function in fish. Add set shell=sh in your vimrc.

This issue has been fixed.

How to config custom symbols?

Use this variable to change symbols.

let g:NERDTreeGitStatusIndicatorMapCustom = {
                \ 'Modified'  :'',
                \ 'Staged'    :'',
                \ 'Untracked' :'',
                \ 'Renamed'   :'',
                \ 'Unmerged'  :'',
                \ 'Deleted'   :'',
                \ 'Dirty'     :'',
                \ 'Ignored'   :'',
                \ 'Clean'     :'✔︎',
                \ 'Unknown'   :'?',
                \ }

There is a predefined map used nerdfonts, to enable it

let g:NERDTreeGitStatusUseNerdFonts = 1 " you should install nerdfonts by yourself. default: 0

How to show ignored status?

let g:NERDTreeGitStatusShowIgnored = 1 " a heavy feature may cost much more time. default: 0

How to cooperate with vim-devicons

Plug 'preservim/nerdtree' |
            \ Plug 'Xuyuanp/nerdtree-git-plugin' |
            \ Plug 'ryanoasis/vim-devicons'

Make sure they are in the right order.

How to indicate every single untracked file under an untracked dir?

let g:NERDTreeGitStatusUntrackedFilesMode = 'all' " a heave feature too. default: normal

How to set git executable file path?

let g:NERDTreeGitStatusGitBinPath = '/your/file/path' " defualt: git (auto find in path)

How to show Clean indicator?

let g:NERDTreeGitStatusShowClean = 1 " default: 0

How to hide the boring brackets([ ])?

let g:NERDTreeGitStatusConcealBrackets = 1 " default: 0

NOTICE: DO NOT enable this feature if you have also installed vim-devicons.

Credits