【问题标题】:Java IDE with VIM integration for someone coming from C/C++适用于来自 C/C++ 的人的具有 VIM 集成的 Java IDE
【发布时间】:2010-09-26 21:00:44
【问题描述】:

我是一名经验丰富的 C/C++ 程序员,开始涉足 Java,正在寻找具有 VIM 集成的良好 IDE 或 VIM 插件,让我可以将相同的键映射用于编辑、cscope 和omnicompletion 等功能。我的意思是,IDE 提供的任何本机功能都可以映射到等效的 vim 键绑定。它应该在 Windows 或 Linux 上运行。我不在乎是否必须为 IDE 和插件付费,只要它们满足我的需求即可。

我在 SO 上看到处理此类问题的最新问题已有一年多的历史了,我确信从那时起“最先进的技术”已经发生了变化。

我想听听实际使用这些 IDE 和 VIM 插件的人的意见。

【问题讨论】:

    标签: java vim ide


    【解决方案1】:

    为什么不直接使用 VIM?

    您确切地知道它可以做什么以及如何扩展它,并且无论如何它似乎都是您想要的。

    您不会对任何仿真感到满意,因为它会达不到要求,而且以您当前的心态,您不会喜欢学习新的编辑器。然而,我会建议你这样做。现代 Java IDE 能做的事情远远超过 VIM 能做的事情,因为它们非常了解您的源代码。如果您使用 IDE 的默认配置,您将从 IDE 中受益最多,而且我不知道有哪个想要看起来像 vi/vim。

    说到这里,您可能会觉得http://ideavim.sourceforge.net/ 很有趣。 IDEA 是 Java IDE 剩下的唯一一个赚钱的普通地方了……

    【讨论】:

    • 您是在问“为什么不直接使用 VIM?”修辞上,如“只使用vim”?同时还说“现代 Java IDE 可以做的事情远超 VIM 可以做的事情”,这似乎是在建议使用现代 IDE。
    • 如果您非常熟悉 vim 并且认为熟悉比 IDE 技巧更重要,那么只需使用 vim 作为您的编辑器(加上一个 ant build 左右​​)。就个人而言,我很久以前就故意决定喜欢 Eclipse 并顺其自然。这意味着我必须学习 Eclipse 编辑器键绑定,这没什么大不了的。如果您必须做更多事情,您可以随时打开 -> 系统编辑器或使用 Eclipse 的“在此处打开资源管理器”插件之一。最好的实用主义:)
    • 我仍然认为你不会对任何仿真完全满意(vim 非常强大,是的,我在 Windows 上使用它)。
    【解决方案2】:

    IntelliJ 有一个 VI 插件。我从未使用过它,因此无法评论它的用户友好性,但 IntelliJ 本身非常出色。

    【讨论】:

    • 您特别喜欢 IntelliJ 的哪些方面?你为什么选择它而不是像 Netbeans 或 Eclipse 这样的东西?
    • 抱歉回复晚了。我喜欢 IntelliJ 的是用户界面(我发现它比我尝试过的任何其他界面都更直观,除了早期的 Delphi 和 Turbo C++ 版本)和性能(它比 Eclipse 或 Netbeans 快得多) )。就像使用任何工具一样,当然需要习惯,但他们的口号“愉快地发展”并不夸张。
    【解决方案3】:

    最近,当我在工作中编写 Java 代码时,我一直在使用 vrapper 它有一些小的可用性错误和一些缺失的功能(例如 cit),但它似乎在提供基本的 vi 编辑功能时运行良好.

    好的,我似乎因为看太多其他答案而误读了原始问题。我真的不知道您可以多么容易地将 Eclipse 的本机omnicompletion 功能映射到相应的vim 映射。不过,我认为您可以使用 wrapper 提供的绑定并通过学习 Eclipse 中一些最重要的编码辅助键来提高工作效率。

    甚至可能有关于此的 Stackoverflow 问题,但我发现的最重要的快捷方式是:

    • ctrl+空格表示“全能”
    • ctrl+1 用于打开错误或警告的快速修复建议菜单
    • shift+ctrl+t 打开类型

    【讨论】:

      【解决方案4】:

      我一直在为 Eclipse 使用 viplugin (http://www.viplugin.com/viplugin/)

      相当不错,与重构有点冲突,但大多数主要的编辑命令都可以工作。我仍然需要使用 vim 来处理复杂的正则表达式工作,但我每年只需要这样做两次。

      不幸的是,它是商业化的(15 欧元),开发速度似乎慢了很多。它目前似乎比 vrapper 功能更完整,但我没有尝试过。

      【讨论】:

      • eclipse 是否内置了代码完成和 ctags 之类的功能?能不能映射到对应的vim命令?
      • 是的。它的代码完成比 vim 的要好得多——它理解更多的语义,所以它会用它们的标签完成泛型,并且只建议在上下文中有意义的变量。我仍在使用 ctrl-space 来完成代码,但您可以重新映射它。我已经将 ctrl-] 映射到“跳转到定义”,所以它就像我的 vim 设置一样工作。
      【解决方案5】:

      我也在研究 VIM / Eclipse 集成,这些似乎最有趣:

      (根据this Hacker News discussionthis other SO question

      【讨论】:

        【解决方案6】:

        好像有一个用于netbeans,(堆栈溢出线程)Is it possible to use VI or VIM keymap in NetBeans?

        【讨论】:

        • 我真的很喜欢 NetBeans 的 jVi 插件。不过,我主要将它用于 PHP 开发,Java 不多。
        猜你喜欢
        • 1970-01-01
        • 2017-01-10
        • 2011-01-30
        • 2015-04-19
        • 2010-09-18
        • 2010-09-06
        • 2016-07-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多