VIM + netrw:在同一窗口中打开多个文件/缓冲区

时间:2015-05-29 15:18:33

标签: python vim nerdtree python-mode netrw

我最近使用 NERDTree python-mode 切换到 VIM 。由于NERDTree似乎与 python-mode 存在冲突并且如果我关闭多个缓冲区中的一个而中断我的布局,我决定切换到 netrw ,因为它附带<无论如何,em> VIM 。

但是打开一个文件,如果我打开 netrw 键入:E并通过点击<enter> 打开另一个文件VIM 关闭旧文件并在同一窗口中打开新的。如果我在相同的情况下点击<o> VIM 会添加另一个缓冲区,但会在水平拆分中添加一个新窗口。

如何使用 netrw 将多个文件/缓冲区添加到缓冲区列表中,并仅在活动窗口中显示最后添加的缓冲区(没有新的拆分)? #edited#

提前致谢!我希望我从手册中遗漏了一些微不足道的东西......; - )

3 个答案:

答案 0 :(得分:2)

  

但是打开一个文件,如果我打开netrw键入:E并打开另一个文件,点击<enter> VIM将关闭旧文件并在同一个窗口中打开新文件。

     

[...]

     

如何使用netrw在同一窗口中打开多个文件/缓冲区?

缓冲区被添加到列表,缓冲区列表和兼容显示在一个或多个标签页的一个或多个窗口中。

由于窗口只能显示一个缓冲区,因此同时查看两个单独缓冲区的唯一方法是在两个单独的窗口中显示它们。这是netrw的ov允许你做的事情。

当您使用<CR>编辑文件时,之前的缓冲区不会消失:它仍然在缓冲区列表中,可以使用:bp[revious]进行访问。

答案 1 :(得分:1)

项目抽屉

我相信你想要的是一个&#34;项目抽屉&#34; (也就像TextMate或Sublime Text),显示当前项目文件结构。如果你的行为就是你所追求的,那你就不走运了。 Vim没有&#34;项目抽屉&#34;的概念,只有标签,窗口(分割)和缓冲区。

有关更多信息,请参阅Vimcast上的这篇精彩文章:Oil and vinegar - split windows and the project drawer

NerdTree

对于一些人来说,像项目抽屉一样使用NerdTree是很常见的,但它最终会失败,因为它阻碍了你发现的良好的分裂工作流程。更不用说为可能占用工作流程不到10%的任务占用屏幕空间。

netrw还

Netrw是一个文件浏览器,应该区别对待。由于netrw映射<cr>以打开当前窗口中的当前文件。这意味着当您实际浏览文件时,通常只会看到您的文件资源管理器。如果您正在引用您的文件结构,那么在处理文件时使用拆分来保存netrw。

思想

我个人发现我很少使用任何文件浏览器。通过<c-x><c-f>,ctags / cscope,模糊查找器,通过projectionist.vim进行项目导航,只需使用:e&amp; <c-d>。我有一个相关的帖子:Files, Buffers, and Splits Oh My!

答案 2 :(得分:0)

(对于netrw)如果将g:netrw_chgwin设置为窗口编号,则在netrw窗口中按文件顶部的[cr]将在指定窗口中打开该文件。 &#34; C&#34;如果当前显示netrw列表,则map可用于指定当前窗口。

还有:Lexplore命令,它在vim显示屏的左侧打开一个netrw窗口;编辑将发生在netrw的右边。

如果你的netrw不支持:Lexplore,你可以获得支持它的最新netrw:http://www.drchip.org/astronaut/vim/index.html#NETRW