我希望NERDTree以浅色显示Git忽略的文件和目录(即变暗),以区别于跟踪的文件和目录。怎么办呢?
感谢。
答案 0 :(得分:1)
从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()