我一生都在使用VIM,但最近我对它有点厌倦,因为在一个大项目中同时处理20个文件时,我在缓冲区,窗口和标签中丢失了(有500k LOC和数百个文件)
每当我执行:make
,:grep
等时,新缓冲区就会在当前窗口中跳出。
标签也是如此。在某些时候,这开始变得非常混乱,因为我真的必须关注VIM中的事物。
有哪些经过验证的简单方法可以控制这种行为?
答案 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。