Vi / Vim用于多个文件的项目

时间:2013-06-22 22:39:51

标签: vim vi

我通常对大型项目使用ide,对小型单文件脚本使用临时文件等。

最近我听说有人将vi用于大型项目 - 实际上,非常防守,特别自豪。

我试过了,但我发现它非常麻烦。这里有没有其他程序员使用vi和大中型项目?如果是这样,是否有任何提示/技巧可以提供导航源,查看多个文件等?

我尝试使用tmux来查看它是否让事情变得更容易 - 但它仍然感觉非常麻烦

3 个答案:

答案 0 :(得分:1)

没有神奇的工具可以让一切都变得完美。 Vim是一名编辑,它非常擅长,但它不是,也永远不会是IDE。

曾经有一个pida项目使得围绕 vim,以便在使用python时更好地进行交互,但它被放弃了。

eclim这是一个非常简洁的工具,可以使用eclipse作为后端IDE,可以在vim内的几个按键中访问,同时具有eclipse的所有功能,用于标记,重构,调试等等。但你必须要在背景中运行日食,这就像在地毯下隐藏大象一样......

你可能想要使用很多小插件,我很确定每个人都有他最喜欢的插件集,这有助于在代码中轻松导航并帮助标记(如逃犯,书呆子等等)。

最后,有vim,一个shell,就是这样。 Vim正确地做了很多事情,比如在源代码中导航,启动编译和解析错误等等。对于vim不擅长的东西,你可以使用你的shell执行,做git stuff,打开更多vim窗口来编辑代码..

无论如何,你的问题没有完美的答案,我打赌你的问题会因为“没有建设性”而被关闭。

答案 1 :(得分:1)

你觉得哪些麻烦?什么对你有用?什么不是?您需要什么样的功能才能有效地使用多个文件?有多少是多个文件?

有些人使用Vim来处理相当大的项目:Linux内核,Firefox,Vim本身...我想你需要知道Vim很好,但即使没有很多插件,它也是非常可行的。

但我倾向于认为“复杂性”而不是“数量”。

当我使用“复杂”语言+项目(引用因为它非常主观)时,我将使用更适合的IDE和Vim-emulation插件:Flash Builder + Vrapper for Actionscript 3,Eclipse + Vrapper(然后Android版Android Studio + IdeaVim(现在)。

当我使用“简单”(引用,再次)语言+项目时,我将使用Vim:这是涉及HTML / CSS / JavaScript / PHP的任何项目,从3到50多个文件。

  • 文件/缓冲区导航

    即使没有插件,Vim也非常擅长打开文件(听起来很有趣)。例如,:sp **/foo<Tab>快速而简单。 :Ex foo/bar也是如此。

    切换缓冲区也很容易,如果有点尴尬起初。 :bn:bN:b <Tab>将为您带来很长的路要走。

    如果你不喜欢这些内置方法,你可以创建自己的酷映射或从许多插件中选择。

  • “语义”导航

    我喜欢在类/方法名称而不是文件名中考虑我的项目。使用最新的tags文件(使用ctags或某些兼容程序生成),:tag foo是一种非常有效的移动方式,<C-]>跳转到标记的定义下光标和<C-w>}在一个小预览窗口中打开该定义。这对我的需求来说已经足够了。

    我不是特别喜欢它们,但您也可以使用TagBar或TagList来获得类似于 IDE类浏览器的内容。

我建议你更清楚地提出自己的需求,并提出更具体的问题或环顾四周。上面的主题很好。

答案 2 :(得分:1)

只需几点:我喜欢NERDTreeCtrlP以便轻松/强大的文件导航,splits可以保持多个文件同时可见和可导航。