如何在NERDTree中区分git忽略的文件和目录

我希望NERDTree以浅色(即灰色)显示被Git忽略的文件和目录,以区分它们与跟踪的文件和目录。如何才能做到这一点?如何在NERDTree中区分git忽略的文件和目录

谢谢。

回答:

从nerdtree-git-plugin修改,这个片段将自动忽略的亮点采用Commment新版本NERDTree没有|-类似前缀的文件(这会导致同步匹配失败?)。

function! GitDimIgnoredFiles() 

let gitcmd = 'git -c color.status=false status -s --ignored'

if exists('b:NERDTree')

let root = b:NERDTree.root.path.str()

else

let root = './'

endif

let files = split(system(gitcmd.' '.root), '\n')

call GitFindIgnoredFiles(files)

endfunction

function! GitFindIgnoredFiles(files)

for file in a:files

let pre = file[0:1]

if pre == '!!'

let ignored = split(file[3:], '/')[-1]

exec 'syn match Comment #\<'.escape(ignored, '~').'\(\.\)\@!\># containedin=NERDTreeFile'

endif

endfor

endfunction

autocmd FileType nerdtree :call GitDimIgnoredFiles()

以上是 如何在NERDTree中区分git忽略的文件和目录 的全部内容, 来源链接: utcz.com/qa/263072.html

回到顶部