Using NERDTree plugin, I want to view only *.txt files. There is a 开发者_Python百科NERDTreeIgnore
variable, but I want something like NERDTreeWhitelistFilter
.
Is there a way to whitelist what I see?
I've been playing around with this — it's an interesting problem. Maybe you could try out this regular expression for ignoring files?
Edit: talked with my co-worker. Here's the correct regular expression (my original one matched "txt" at the beginning of a file name, too).
^(?!.*\.txt$).*
This is what you want:
:let NERDTreeIgnore += ['\(\.txt\)\@<!$[[file]]']
based on @kev great answer you can also make a toggle function.
function NERDRefreshIfOpened()
if g:NERDTree.IsOpen()
:NERDTreeRefreshRoot
endif
endfunction
function NERDTxtOnlyToggle()
let regex='\(\.txt\)\@<!$[[file]]'
if index(g:NERDTreeIgnore, regex) >= 0
call filter(g:NERDTreeIgnore, {idx, val -> val != regex})
call NERDRefreshIfOpened()
else
let g:NERDTreeIgnore += [regex]
call NERDRefreshIfOpened()
endif
endfunction
精彩评论