使用VI,VIM或GVIM作为IDE

我不得不在工作中使用VS2008来处理大量的项目,但是每当奇数文本文件需要编辑时,我都会使用VIM。

现在我知道有插件,不能使VIM像IDE一样工作,所以我想知道是否有人真的把它用作IDE?

编辑:

对于那些认为自己代表大众说VIM不应该用作IDE的人,请考虑在vim.org官方function请求列表中 ,IDEfunction是头号function请求。

Vim是一款令人惊叹的软件,但由于年龄的原因,它也非常杂乱。 Vi于1976年发布,Vim于1991年发布。例如,Vim提供了多种不同的文本完成方式,从简单的关键字到它的“omni”完成系统。 最重要的是,一些插件select使用内置function,而其他插件只是取代批发。 希望下面的build议可以让你开始。

IDE与Vim

您可能想要尝试Vim的这个新补丁,它允许Vim在Visual Studio中用作编辑器:

  • ViVim

Vundle

首先,为Vim安装Vundle插件pipe理器插件! 它工作得很好,使pipe理Vim插件变得容易。 处理安装,更新和删除。

例如,您的.vimrc现在只包含:

 " === Plugins! === Plugin 'wincent/command-t' Plugin 'scrooloose/nerdtree' Plugin 'w0rp/ale' ... 

PluginUpdate命令将安装它们或更新它们。

Vim-IDE的插件

下面的vim脚本给Vim更多的IDE感觉。 请记住,Vim内置了大量的function,因此在加载20个插件之前,花点时间学习这些(这是一个持续的旅程)。

导航:

  • 书呆子树 – 文件系统导航
  • Command-T – 按文件名search项目以打开
  • CtrlP – Command-T,模糊文件和缓冲区search的替代方法
  • 标签栏 – 按function进行代码导航
  • 书签 – vim的书签(我自己的插件:))

文本完成:

  • delimitMate – 自动closures括号,大括号等
  • tcomment – 轻松评论/取消注释源代码命令
  • Ultisnips – 伟大的Vim片段系统
  • YouCompleteMe – 代码完成,很多function
  • neocomplete – 比YCM稍微简单的代码完成

我个人发现代码完成太多了,只能依靠Vim内置的CTRL-N文本完成function,但是请记住CTRL-N ! Vim的内置完成系统超出了这个范围,使用不同的完成模式,例如CTRL-X CTRL-F文件名完成,或者通过CTRL-X CTRL-O试图提供文件types特定的上下文依赖完成的“omni-completion” 。 Omni完成需要文件types特定的插件,Golang的vim-go包支持它。

格式:

  • 表格 – 轻松alignment文本
  • vim-surround – 快速围绕一些文本(即括号,标签…)

真棒:

  • ALE – 支持多种语言的实时语法检查,支持Vim 8的新function,例如asynchronous作业,确保Vim在运行时不会冻结Vim。
  • 逃亡者 – vim中的Git,diffs,blame …等等
  • gitgutter – 从git提交版本的文件的实时差异
  • YankRing – 轻松访问以前复制或删除的文本对象

更好的GUI:

  • 航空公司 – 更容易阅读更多有用信息的状态行
  • Gundo – 将vim的历史logging视为一棵树(我最喜欢的,确保在Vim中启用永久性撤销)

配色scheme:

  • 日光浴 – 伟大的配色scheme

Vim分布

您可以使用以下项目来快速完成像Vim这样的更多IDE,而不是自己完成设置和configuration。 下面的两个项目包括我上面提到的许多插件:

  • 杰纳斯
  • spf13

我build议你不要使用它们。 如果你花时间自己configurationvim并在交错的过程中安装插件来学习每一个插件,你将学到更多。

Vim插件指南

VimAwesome可以成为浏览Vim插件的好地方,并且可以find有用和stream行的插件。

Vim补丁

除了这些脚本之外,您还可以查看Vim的以下某些修补程序。 我没有使用他们,所以不确定的质量,但他们大多看起来很有前途。 你可以在这里查看所有的补丁,使vim更像IDE的是:

  • 代码检查 – 即时代码检查( :现在Syntastic是一个更好的select)。
  • Clewn – 允许使用GDB在Vim中对代码进行debugging和步进。

安装这些脚本和补丁后,Vim应该在Visual Studio或Eclipse的function上有非常密切的地方。

你也可以换个方式来使用名为viemu的插件。 这个在VS IDE中提供了vi模式,这可以让同事更容易在你的系统上共同驱动。

Taglist是一个很棒的插件 – 不要离开家。

您也可以设置选项卡完成 。

Omnicompletion是一个伟大的事情,如果你的语言是支持的。

而VIM技巧1439则提供了IDE-ification提示的综述。

如果您使用Linux,只需尝试Pida 。 你可以embeddedVim或Emacs。 诸如文件浏览器,项目结构和控制台等许多整合使Vim看起来像Eclipse。 恕我直言,这是一个简单的方法来使用Vim作为IDE。

我并不想因为这个反应而变得煽情,但是我想为你省点头痛。 我给所有在#vim中提出类似问题的人都有同样的答案。

Vim不是一个IDE。 这是一个编辑。 它从来没有打算成为一个IDE,任何试图使它符合这只会导致你的问题。 有一些插件试图为Vim提供类似IDE的感觉,但是这些插件太糟糕了。

另一方面,我也推荐一些插件,这些插件可以帮助您从Vim获得一些扩展function。 这些可能适合您的需求。

  • taglist – 非常适合用函数/方法/类来浏览你的代码
  • NERDTree – 一个美妙的文件系统导航插件

VIM对C和C ++有一stream的支持。 你甚至有一个clewn和gdb的可视化debugging器。 其他语言,你将不得不做一些调整和摆弄,结果可能不会达到你想要的。 值得一小时,看看它是如何去的。

我得到的印象是,emacs在更好的语言IDE方面做得更好。

尝试http://code.google.com/p/exvim中的; exVim该项目将vim作为一个用于多语言开发的IDE。

我单独使用Vim,它有一些基本的function,可以通过^ X自动完成,然后select各种选项(^ P为关键字,^ O为omnicomplete(适用于在Web文件中切换HTML,CSS等)。

它还能够通过:!(编译器或其他命令)启动命令。

相当简单,与基本开发无缝集成,无需工作空间或类似的 – 如果需要文件设置的模式。

编辑:就模块而言,通常有模块在Vim环境内或旁边embedded相关的脚本语言 – 但我不知道类似的.NET框架模块。

我有时在Kate内部使用Vim作为IDE,否则我会在Vim中打开几个标签,这些标签很难改变。

否则,我坚持普通的Vim。

KDE for Windows将允许您在Windows中安装Kate。

我今天一边看着OT Android NDK的东西 – vim的长期用户,在eclipse中使用过eclim,可是坦白说我的vim环境是为了编写代码,而不是开发代码。 阅读关于使vim成为开发环境的各种不同的曲折真的很有趣,gvide有一些令人信服的东西 –

http://www.crystax.net/en/gvide