2

我最近使用NERDTreepython-mode切换到VIM。由于 NERDTree 似乎与python-mode有冲突并且如果我关闭多个缓冲区中的一个会破坏我的布局,因此我决定切换到netrw,因为它无论如何都与VIM一起提供。

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

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

提前致谢!我希望我没有错过手册中的一些琐碎内容.. ;-)

4

3 回答 3

3

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

[...]

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

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

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

当您用于<CR>编辑文件时,前一个缓冲区不会消失:它仍然在缓冲区列表中,可以使用:bp[revious].

于 2015-05-29T15:38:11.757 回答
2

(对于 netrw)如果您将 g:netrw_chgwin 设置为窗口编号,则在 netrw 窗口中的文件顶部按 [cr] 将在指定窗口中打开该文件。“C”映射可用于为此目的指定当前窗口,如果它当前显示的是 netrw 列表。

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

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

于 2015-06-11T19:48:24.020 回答
1

项目抽屉

我相信您想要的是显示当前项目文件结构的“项目抽屉”(又名 TextMate 或 Sublime Text)。如果行为是你所追求的,那么你就不走运了。Vim 没有“项目抽屉”的概念,只有选项卡、窗口(拆分)和缓冲区。

有关更多信息,请参阅 Vimcast 上的这篇精彩文章:油和醋 - 拆分窗口和项目抽屉

书呆子树

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

网络

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

想法

我个人发现我很少使用任何文件浏览器。我通过插入模式完成文件名<c-x><c-f>,ctags/cscope,模糊查找器,通过projectionist.vim进行项目导航,并且只使用:e& <c-d>。我有一个相关的帖子:文件、缓冲区和拆分哦,天哪!.

于 2015-05-29T17:40:26.510 回答