开放的编程资料库

当前位置:我爱分享网 > PHP教程 > 正文

为什么 IDE 的 Vim 插件失败

我是一个毫不掩饰的Vim用户。它一直是我的主要编辑器已经七年多了,当我切换到它以便更容易地通过SSH编辑文件时。当时,我让自己专门使用它一个月,以便让习惯根深蒂固,并花时间浏览vimtutor以及订购和阅读SteveOualline的Vim书。当我说“独家”时,我是认真的——那时我转而使用Mutt来发送电子邮件,并且还开始在vim中进行所有代码开发、大纲等工作。一个月后,我意识到我不想使用任何其他东西。

具有讽刺意味的是,我发现自己在一家销售集成开发环境(IDE)的公司工作。因此,我对Eclipse、ZendStudioforEclipse甚至NetBeans进行了一些测试,以了解它们提供了哪些功能,以及是否有任何令人信服的东西可能会让我改变主意。

对我来说,最直接的症结之一是我的大脑现在天生就以某种方式编辑文本。我使用主页行键浏览文档(因为它非常高效),切换到可视模式以突出显示文本(更有趣的是突出显示特定列!),等等。这促使我尝试为上述编辑器添加“vi”或“vim”功能的许多插件。

我试过以下方法:

  • Eclim(日食)
  • Vwrapper(日食)
  • jVi(NetBeans)

到目前为止,它们普遍失败。

为什么?因为它们重新实现了vi(m)键绑定,但实际上并没有重新使用vim本身的任何东西。为什么这很重要?因为这意味着这些工具完全忽略了整个vim生态系统。Vim有大量的用户插件、语法高亮编解码器、文件类型插件和其他实用程序——您可以不用它们。Vim允许您创建自己的键绑定,并提供一种语言来创建您自己的插件……您不能使用它们。Vim允许您在配置文件中指定您自己的设置——这些工具不仅会忽略该文件,而且无法获取它的任何来源。

例如,我已将jj绑定到键。这种微优化使我不必为了切换模式而需要到达我的主行之外。我不能在eclim中使用它。我已将-L绑定到多种语言的linter;我不能在vwrapper中使用它。我使用一个插件来自动创建phpdoc文档块;我不能在jVi中使用它。基本上,这些工具中的每一个都提供了我认为是残缺版本的vim,因为我不能做我会在vim中做的事情。

这些工具试图做的是让vim用户更熟悉IDE环境——据我所知,它更像是一个迁移工具。“看-你可以让它看起来和运行起来很像vim!既然你在这里,也许你应该尝试我们的其他一些功能!”

在我看来,这就是棺材上最后一颗钉子发生的地方,因为vim有一件我试过的其他IDE无法做到的事情:它在一秒钟内加载。我经常想在我的代码中查找一些东西。我是否等待我的IDE启动?或者,一旦加载,我是否执行各种鼠标回旋以找到我想查看的文件?或者我只是打开vim并使用c-tags在1或2秒内加载我的文件?

总而言之,这些项目之所以失败,是因为它们让您渴望拥有您已经拥有的东西:一个快速、可扩展的编辑器。

因此,总而言之,虽然我认为这些项目很有趣,但我认为完全沉浸在IDE中或返回到您选择的编辑器中更有意义。我知道在未来的许多年里,哪一个将在我自己的工具箱中。

未经允许不得转载:我爱分享网 » 为什么 IDE 的 Vim 插件失败

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏