vim nerdtree和"E:"资源管理器有什么区别?

6

我是VIM的新手。 请帮我解决这个问题 - 或者请给我一个链接,谢谢!我发现Nerdtree非常有用。我还找到了一篇关于使用命令“:E”的文章,它可以显示与Nerdtree类似(或相同)的内容。

我想问一下,应该使用哪个(Nerdtree插件还是:E)? Nerdtree显示的功能是否都能在:E中实现?

谢谢,如果这太基础了,请原谅;我在网上找不到比较,并且作为一个“新手”,我还看不出区别。

2个回答

10
:Explore 命令由 Vim 自带的 netrw 插件提供。它提供了一个高度可配置的文件浏览器,以及在远程位置读取/写入文件的功能。如果你只喜欢 NERDTree 默认的分层树结构,那么也可以在 netrw 中进行配置:let g:netrw_liststyle = 3
NERDTree 插件提供了一个同样高度可配置的侧边栏分层文件树,以及自定义文件命令的扩展点。该插件默认从 netrw 获取目录列表功能(参见:help NERDTreeHijackNetrw),但这两个插件也可以和平共处。NERDTree 还有一些次要插件,可以自动显示(并同步)多个选项卡中的侧边栏等。
如果你喜欢 NERDTree,可以试试。此外,阅读两个插件的:help,看看哪个插件提供的配置更适合你,或者哪个更吸引你。你随时可以改变主意。

4
自2013年11月9日起,netrw (:Explore)通过:Lexplore还提供了侧边栏目录列表 (即v150或更高版本)。 - user21497

5

虽然这个问题在SO上可能有些“离题”,但我还是更喜欢使用Ctrl-E。以下是我从其他地方得到的脚本:

" Toggle Vexplore with Ctrl-E
function! ToggleVExplorer()
    if exists("t:expl_buf_num")
        let expl_win_num = bufwinnr(t:expl_buf_num)
        if expl_win_num != -1
            let cur_win_nr = winnr()
            exec expl_win_num . 'wincmd w'
            close
            exec cur_win_nr . 'wincmd w'
            unlet t:expl_buf_num
        else
            unlet t:expl_buf_num
        endif
    else
        exec '1wincmd w'
        Vexplore
        let t:expl_buf_num = bufnr("%")
    endif
endfunction
map <silent> <C-E> :call ToggleVExplorer()<CR>

" Hit enter in the file browser to open the selected
" file with :vsplit to the right of browser
"let g:netrw_brows_split = 4
"let g:netrow_altv = 1

" Default to tree mode
let g:netrw_liststyle = 3

将这些代码添加到你的 .vimrc 文件中即可。

我喜欢这种方法是因为它非常简单,不会占用太多资源,并且计算成本也不高。当然,这只是个人偏好。

你可以试着对比一下两种方法,看看哪个更适合你。

关于区别,我认为 NerdTree 功能更加全面,但我对它并不是很熟悉,因为我在使用了几个小时后就将其移除了。我只记得它的响应速度比这种方法稍微慢一些。


谢谢你的回答,而且还很快 :). 不管是否离题,都很好。感谢你提供文件。由于我还没有足够的积分来进行“点赞”,所以我会接受这个答案。同时,我也很想知道其他人是否会使用 :E .. ,因为我在网上找到了很多关于 Nerdtree 的信息,但只有一次提到了 :E 。因此,对我来说这个话题已经得到了解答。 - Brth
你只需要使用 nnoremap <C-e> :Lexplore<CR> 就可以完成该函数所做的事情。 - Sayem
假设我想打开当前目录。输入 vim . 可以实现,但是 netrw 浏览器不会在侧边栏中打开,一旦我选择了一个文件,浏览器就会显示在屏幕底部。你如何开始你的工作流程? - mistahenry
我更喜欢不使用插件,但似乎NERDTree在分割方面的表现要好得多,如果它们可以在netrw中提供相同的功能,我会切换。 - Aznaveh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接