如何在处理许多文件时组织Vim缓冲区,窗口和选项卡

时间:2010-09-30 16:51:28

标签: c++ vim editor

我一生都在使用VIM,但最近我对它有点厌倦,因为在一个大项目中同时处理20个文件时,我在缓冲区,窗口和标签中丢失了(有500k LOC和数百个文件)

每当我执行:make:grep等时,新缓冲区就会在当前窗口中跳出。 标签也是如此。在某些时候,这开始变得非常混乱,因为我真的必须关注VIM中的事物。

有哪些经过验证的简单方法可以控制这种行为?

5 个答案:

答案 0 :(得分:4)

  • 使用:hide删除所有窗口,除非确实需要打开它们。

  • 我不确定为什么代码会为您创建新窗口,CTRL+]应重新使用当前窗口。

  • nnoremap + 4<C-W>+nnoremap - 4<C-W>-可让您更轻松地调整窗口大小以及标准<C-W>_<C-W>|

  • 获取22英寸显示器(最低)并使用:vsplit并排显示文件。我发现这比拥有两个较小的显示器更重要。

  • 使用<C-W>L<C-W>H等来移动窗口。不要忘记:tab sp在新标签页中打开当前文件(或新文件)。

  • :map <LEFT> <C-W>h:map <RIGHT> <C-W>l等使得在Windows之间移动变得更加容易。 :map <C-LEFT> :tabprev<CR>:map <C-RIGHT> :tabnext<CR>使标签之间的移动变得更加容易。

最后,如果您需要定期打开20个文件,这可能表示您的代码组织不良。如果可能,功能应该包含在一个文件中,那么您只需要一次关注一个功能。

答案 1 :(得分:2)

前段时间我为朋友测试了Eclim http://eclim.org/。基本上,它允许您以无头模式运行Eclipse,同时使用vim进行编辑等。通过扩展,它允许Vim利用两个世界的所有优势,例如将Eclipse的项目树添加到您喜欢的编辑器中!

当时安装有点令人生畏,但是一旦我启动并运行,它就非常流畅且非常出色。尝试一下,我很确定你不会失望。现在安装可能更容易。 :)

哦,我还应该提到有几个Eclim设置。你可以使用vim作为主要界面的无头Eclipse(正如我刚才提到的那样),你可以拥有一个标题Eclipse和Vim,这样你就可以轻松地来回切换(在同一个项目中也不少),或者你可以拥有Vim集成到Eclipse本身。

答案 2 :(得分:1)

运行多个vims。我在我的Linux机器上使用“konsole”。它允许我在一个窗口中打开许多选项卡式linux终端会话。我可以双击选项卡来命名它们,例如“模型”,“视图”,“控制器”等。在这些标签式Linux终端中,我将运行一个vim进程,通常一次打开2或3个文件。 另一种选择是找到具有Vim模式的IDE,因此您仍然可以使用大多数关键命令。

答案 3 :(得分:0)

作为一个长期的vim用户,我很难说,但是 - 你可能是时候进入一个成熟的IDE了。在大多数情况下,您仍然可以使用vim作为编辑器,但IDE将为您处理文件管理和导航,并且可能会简化make和grep工作流程(例如,结构搜索比grep更好)。你在用什么语言学习?

答案 4 :(得分:-1)

Vim-CtrlSpace可让您整理标签,缓冲区,会话(工作区)+模糊搜索 它非常适合在大型项目上工作。这就是我实际想出来的方式。
以前,我使用'jlanzarotta / bufexplorer.git'和'xolox / vim-session'

您可以查看demo on YouTube