我通常对大型项目使用ide,对小型单文件脚本使用临时文件等。
最近我听说有人将vi用于大型项目 - 实际上,非常防守,特别自豪。
我试过了,但我发现它非常麻烦。这里有没有其他程序员使用vi和大中型项目?如果是这样,是否有任何提示/技巧可以提供导航源,查看多个文件等?
我尝试使用tmux来查看它是否让事情变得更容易 - 但它仍然感觉非常麻烦
答案 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)