我通常将 ide 用于大型项目,将 vi 用于小型单文件脚本临时文件等。
最近我听说有人也将 vi 用于大型项目 - 实际上,非常防御性并且特别自豪地这样做。
我试过了,但我发现它很麻烦。这里有没有其他程序员使用 vi 进行中大型项目?如果是这样,您是否可以提供任何提示/技巧来导航源、查看多个文件等?
我已经尝试使用 tmux 来查看它是否让事情变得更容易 - 但它仍然感觉很麻烦
没有什么神奇的工具可以让一切变得完美。Vim 是一个编辑器,它非常擅长,但它不是,也永远不会是一个 IDE。
曾经有一个pida项目围绕vim做了一个IDE,以便在使用python时更好地交互,但它被放弃了。
有eclim
一个非常简洁的工具,可以eclipse
用作后端 IDE,在 vim 中通过几次击键即可访问,同时具有 eclipse 的所有功能,用于标记、重构、调试等。但是你必须要在后台运行 eclipse,这就像把大象藏在地毯下......
您可能想要使用许多小插件,我很确定每个人都有他最喜欢的插件集,它们有助于在代码中轻松导航并帮助标记(如逃犯、书呆子等)
最后,还有 vim,一个 shell,仅此而已。Vim 做了很多正确的事情,比如在源代码中导航,启动编译和解析错误等。对于 vim 不擅长的,你可以使用你的 shell,执行,做 git 的东西,打开更多的 vim窗口编辑代码..
无论如何,你的问题没有完美的答案,我敢打赌你的问题会因为“非建设性”而被关闭。
你觉得什么很麻烦?什么对你有用?什么没有?您需要什么样的功能才能有效地处理多个文件?到底有多少是多个文件?
有些人使用 Vim 来处理相当大的项目:Linux 内核、Firefox、Vim 本身……我想你需要非常了解 Vim 才能实现这一目标,但这一切都非常可行,即使没有很多插件。
但我倾向于认为“复杂性”而不是“数量”。
当我使用“复杂”语言+项目(引用,因为这都是非常主观的)时,我将使用更适合的带有 Vim 仿真插件的 IDE:Flash Builder+Vrapper for Actionscript 3, Eclipse+Vrapper (then) Android Studio +IdeaVim(现在)适用于 Android。
当我使用“简单”(再次引用)语言+项目时,我将使用 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 的类浏览器的东西。
我建议你让你的需求更清楚,并提出更具体的问题或四处看看。上面的主题覆盖得很好。