开发者

Vim NERDTree: show only .txt files?

开发者 https://www.devze.com 2023-03-15 12:08 出处:网络
Using NERDTree plugin, I want to view only *.txt files. There is a 开发者_Python百科NERDTreeIgnore variable, but I want something like NERDTreeWhitelistFilter.

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
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号