nerdtree-git-plugin =================== [![Github Action](https://img.shields.io/github/workflow/status/Xuyuanp/nerdtree-git-plugin/CI)](https://github.com/Xuyuanp/nerdtree-git-plugin/actions?query=workflow%3ACI) [![License: WTFPL](https://img.shields.io/github/license/Xuyuanp/nerdtree-git-plugin)](http://www.wtfpl.net/about/) [![GitHub contributors](https://img.shields.io/github/contributors/Xuyuanp/nerdtree-git-plugin)](https://github.com/Xuyuanp/nerdtree-git-plugin/graphs/contributors) A plugin of [NERDTree](https://github.com/preservim/nerdtree) showing git status flags. The original project [git-nerdtree](https://github.com/Xuyuanp/git-nerdtree) will not be maintained any longer. ![Imgur](http://i.imgur.com/jSCwGjU.gif?1) ## Installation Use your favorite package manager. Here is the example of using [vim-plug](https://github.com/junegunn/vim-plug) ```vim script Plug 'preservim/nerdtree' | \ Plug 'Xuyuanp/nerdtree-git-plugin' ``` ## New project [Yanil](https://github.com/Xuyuanp/yanil): Another nerdtree like plugin for neovim(>= 0.5.0) only. I'm focusing on this project. ## 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. ```vim let g:NERDTreeGitStatusIndicatorMapCustom = { \ 'Modified' :'✹', \ 'Staged' :'✚', \ 'Untracked' :'✭', \ 'Renamed' :'➜', \ 'Unmerged' :'═', \ 'Deleted' :'✖', \ 'Dirty' :'✗', \ 'Ignored' :'☒', \ 'Clean' :'✔︎', \ 'Unknown' :'?', \ } ``` There is a predefined map used *nerdfonts*, to enable it ```vim let g:NERDTreeGitStatusUseNerdFonts = 1 " you should install nerdfonts by yourself. default: 0 ``` > How to show `ignored` status? ```vim let g:NERDTreeGitStatusShowIgnored = 1 " a heavy feature may cost much more time. default: 0 ``` > How to cooperate with [vim-devicons](https://github.com/ryanoasis/vim-devicons) ```vim 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? ```vim let g:NERDTreeGitStatusUntrackedFilesMode = 'all' " a heavy feature too. default: normal ``` > How to set `git` executable file path? ```vim let g:NERDTreeGitStatusGitBinPath = '/your/file/path' " default: git (auto find in path) ``` > How to show `Clean` indicator? ```vim let g:NERDTreeGitStatusShowClean = 1 " default: 0 ``` > How to hide the boring brackets(`[ ]`)? ```vim let g:NERDTreeGitStatusConcealBrackets = 1 " default: 0 ``` **NOTICE**: DO NOT enable this feature if you have also installed [vim-devicons](https://github.com/ryanoasis/vim-devicons). ## Shameless Self Promotion [Yanil](https://github.com/Xuyuanp/yanil): Yet Another Nerdtree In Lua ## Credits * [scrooloose](https://github.com/scrooloose): Open API for me. * [git\_nerd](https://github.com/swerner/git_nerd): Where my idea comes from. * [PickRelated](https://github.com/PickRelated): Add custom indicators & Review code.