Vim缺少哪些最重要的IDE功能?

时间:2009-10-01 06:52:31

标签: visual-studio eclipse vim ide

自从1/1/2001以来,我几乎一直在Vim编程,我觉得Vim充分满足了我作为编辑器/ IDE的所有需求,但我不禁想知道是否有一些新的杀手功能在过去十年中为其他IDE开发,这将使我比使用Vim更高效。所以我问:Vim中缺少哪些最重要的IDE功能?

9 个答案:

答案 0 :(得分:4)

  1. 集成调试,具有Visual Studio / Eclipse提供的所有功能(线程调试等)
  2. 使用内联文档支持方法/属性自动完成
  3. 从编辑器应用程序内部构建并运行

答案 1 :(得分:4)

我错过了Resharper等工具的优秀重构支持和代码提示。正则表达式对于代码修改很有用,但是像Resharper那样理解代码只是一个更好的IMO。

幸运的是,我可以在Visual Studio中获得Resharper和Vim,所以我很高兴。

答案 2 :(得分:3)

真正的问题是:VIM对IDE缺少什么。

答案 3 :(得分:3)

我发现重构将是一件非常好的事情。使用大量源文件在vim中更改java包名称可能非常麻烦。

答案 4 :(得分:3)

最初,重构是让我们从Emacs切换的杀手级功能。在过去的6年里,我现在已经将Eclipse广泛用于Java,我期望任何替代品都有:

  • 重构:重命名变量,函数,更改方法签名(包括对它的所有调用)。

  • 调试:“你在这里”“你当前的变量是”加上“转到这个对象的定义类”或“转到这个对象的实际类型”之类的东西。我相信后者需要在调试器和编辑器之间进行相当多的集成。

  • 调试时更换代码。更改代码,按Ctrl-S,调试会话中的代码将使用刚才更改的内容进行更新。大型程序的杀手功能。

  • 导航:类层次结构的简单导航(请在此界面中显示此方法的所有实现,类似)。

  • Javadoc集成 - Eclipse只需将鼠标悬停在标识符上即可显示javadoc。

还有更多:)


编辑:我偶尔会错过Eclipse中的Emacs功能,但Eclipse编辑器变得更强大,所以它不再那么糟糕了。在这方面,每次保存允许格式的保存操作是一个杀手。这可确保更改在源存储库中正确显示。

答案 5 :(得分:1)

在文件中搜索:在大多数编辑器中,有一个单独的窗口在文件中进行搜索,同时可以在主窗口上继续编辑。搜索结果会在找到时更新。即使正在进行搜索,也可以通过点击查看当前结果,而无需等待整个搜索完成。(而在cim中,必须等到vimgrep / ctags完成才能查看结果)

这对于搜索大量文件特别有用。

所以基本上类似于在后台搜索并同时显示可以点击以同时查看它们的结果。 (像Microsoft Visual Studio 6.0那样)

答案 6 :(得分:1)

我错过的是代码完成和调试。这就是为什么我开始使用eclim http://eclim.sourceforge.net/index.html所以我可以使用vim来做它最擅长的事情,并在我真正需要时使用eclipse。尝试一下 - 这是一个很棒的组合。

答案 7 :(得分:0)

这就像旧问题“穿短裙下穿什么衣服?”

答案:“没什么。一切都处于完美的工作状态!”。

但严重的是,我希望看到一个更直观(易于使用)帮助系统添加到Vim

答案 8 :(得分:0)

Vim中没有任何缺少IDE的东西。我们唯一可以争论的是; Vim需要定制,IDE开箱即用。

让我评论其他答案以及如何解决这些“需求”。

  1. 构建
  2. 如上所述,使用:制作并学习如何自定义它。

    1. 重构
    2. 使用众所周知的ropevim(对于Python),它是一个很好的重构工具。你不需要更多。还有很多其他人,搜索你的语言。

      1. 自动完成
      2. 我将此代码段与映射到TAB一起使用(我认为supertab插件可以做到这一点)

        " python stuff
        python << EOF
        import os
        import sys
        import vim
        for p in sys.path:
            if os.path.isdir(p):
                vim.command(r"set path+=%s" % (p.replace(" ", r"\ ")))
        EOF
        
        " tags for python libs
        set tags+=~/.vim/tags/python.ctags
        
        autocmd FileType python,mako set omnifunc=pythoncomplete#Complete
        autocmd FileType html,mako set omnifunc=htmlcomplete#Complete
        autocmd FileType html,mako set omnifunc=htmlcomplete#CompleteTags
        autocmd FileType mako set filetype=mako.html.js
        
        1. 帮助系统
        2. 在Vim中,完美无缺,你只需要学习它的系统。它有自己的约定,如何组织事物。

          1. 调试
          2. 我不知道除了Python以外的其他语言,但是运行pdb和!python%会起到作用。