如何在vim(内置netrw)中折叠/展开treeview?

时间:2015-11-04 15:43:04

标签: vim treeview netrw

我喜欢使用vim的内置netrw插件列出项目文件。有时,当我展开文件夹以查看其内容时,我需要将其折回并转到下一个文件夹。例如,在屏幕的右侧,我想折叠components文件夹,然后轻松转到elementcss

enter image description here

有可能吗?

更新

当我的光标位于components文件夹内时,我需要折叠。因为我可以按回车折叠它。

2 个答案:

答案 0 :(得分:2)

我假设您正在使用netrw的树列表模式:将光标放在目录名称上,[return]将在显示目录的内容之间切换,而不是这样做。

自从netrw v151(2014年3月)以来出现的(shift + return)映射也将执行您要求的操作(挤压父目录)。它仅限于与gvim一起使用,因为大多数终端都不会通过转换返回到vim。

答案 1 :(得分:0)

我还需要折叠一个父文件夹,所以我创建了此函数并将其映射到x键。

" map x key to collapse parent folder
autocmd filetype netrw nmap <buffer> x :call NetrwCollapse()<CR><CR>

function! NetrwCollapse()
    redir => cnt
        silent .s/|//gn
    redir END
    let lvl = substitute(cnt, '\n', '', '')[0:0] - 1
    exec '?^\(| \)\{' . lvl . '\}\w'
endfunction