Skip to content
Git status implementation for
Branch: master
Clone or download
kristijanhusak Merge pull request #7 from tabris233/tabris233-patch-1
fix bug:  one extra brackets in g:defx_git#indicators
Latest commit 5fdaf36 Mar 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
ftplugin Add raw mode option. Jan 1, 2019
rplugin/python3/defx/column Use new highlight commands method. Feb 14, 2019
LICENSE Initial commit Sep 4, 2018 fix bug: g:defx_git#indicators Mar 14, 2019


Git status implementation for defx.nvim.


Just append git to your columns when starting defx:

:Defx -columns=git:mark:filename:type



Which indicators (icons) to use for each status. These are the defaults:

let g:defx_git#indicators = {
  \ 'Modified'  : '',
  \ 'Staged'    : '',
  \ 'Untracked' : '',
  \ 'Renamed'   : '',
  \ 'Unmerged'  : '',
  \ 'Ignored'   : '',
  \ 'Deleted'   : '',
  \ 'Unknown'   : '?'
  \ }


How many space should git column take. Default is 1 (Defx adds a single space between columns):

let g:defx_git#column_length = 1

Missing characters to match this length are populated with spaces, which means becomes , etc.

Note: Make sure indicators are not longer than the column_length


This flag determines if ignored files should be marked with indicator. Default is false:

let g:defx_git#show_ignored = 0


Show git status in raw mode (Same as first two chars of git status --porcelain command). Default is 0:

let g:defx_git#raw_mode = 1


Each indicator type can be overridden with the custom highlight. These are the defaults:

hi Defx_git_Untracked guibg=NONE guifg=NONE ctermbg=NONE ctermfg=NONE
hi Defx_git_Ignored guibg=NONE guifg=NONE ctermbg=NONE ctermfg=NONE
hi Defx_git_Unknown guibg=NONE guifg=NONE ctermbg=NONE ctermfg=NONE
hi Defx_git_Renamed ctermfg=214 guifg=#fabd2f
hi Defx_git_Modified ctermfg=214 guifg=#fabd2f
hi Defx_git_Unmerged ctermfg=167 guifg=#fb4934
hi Defx_git_Deleted ctermfg=167 guifg=#fb4934
hi Defx_git_Staged ctermfg=142 guifg=#b8bb26

To use for example red for untracked files, add this after your colorscheme setup:

colorscheme gruvbox
hi Defx_git_Untracked guifg=#FF0000


There are two mappings:

  • <Plug>(defx-git-next) - Goes to the next file that has a git status
  • <Plug>(defx-git-prev) - Goes to the prev file that has a git status

If these are not manually mapped by the user, defaults are:

nnoremap <buffer><silent> [c <Plug>(defx-git-prev)
nnoremap <buffer><silent> ]c <Plug>(defx-git-next)
You can’t perform that action at this time.