使用Vi,Vim或GVim作为IDE

Nip*_*rus 46 ide vim

我被迫在工作中使用VS2008作为我的大部分项目,但每当奇数文本文件需要编辑时我都会使用Vim.

现在我知道有些插件可以让VIM像IDE一样工作,所以我想知道是否有人真的将它用作IDE?

编辑:

对于那些认为你代表大众说Vim不应该用作IDE的人,请考虑IDE功能是vim.org官方功能请求列表中的头号功能请求.

Dav*_*rei 47

Vim是一款令人惊叹的软件,但由于它的年龄,它也非常混乱.Vi1976 Vim年发布并于1991年发布.例如,Vim提供了很多不同的文本完成方式,从简单的关键字到"omni"完成系统.最重要的是,一些插件选择使用内置功能,而其他插件只是批量替换它.希望以下建议可以帮助您入门.

带Vim的IDE

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

Vundle

首先,为Vim 安装Vundle插件管理器插件!它运行良好,使Vim插件易于管理.处理安装,更新和删除.

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

" === Plugins! ===
Plugin 'junegunn/fzf'
Plugin 'scrooloose/nerdtree'
Plugin 'w0rp/ale'
...
Run Code Online (Sandbox Code Playgroud)

而一个PluginUpdate命令将安装或更新这些内容.

用于Vim-IDE的插件

以下vim脚本为Vim提供了更多IDE感觉.请记住,Vim内置了大量功能,因此在加载20个插件之前需要花时间学习(这是一个持续的旅程).

对我来说最具冲击力的插件是fzfALE.你需要安装fzfripgrep.

导航:

  • FZF - 最喜欢的插件,很棒的文件系统导航和文本搜索
  • 书呆子树 - 文件系统导航
  • Command-T - 按文件名搜索项目打开,会推荐FZF
  • CtrlP - Command-T,模糊文件和缓冲区搜索的替代方法.通常较慢,但不需要编译
  • 标签栏 - 按功能编码导航
  • 书签 - vim的书签(我自己的插件:))

文字完成:

我个人觉得代码完成太多了,只依赖于Vim的内置CTRL-N文本完成功能,取决于你,但请记住CTRL-N!Vim的内置完成系统超越了它,具有不同的完成模式,例如文件名完成CTRL-X CTRL-F或"omni-completion",它试图通过提供文件类型特定的上下文相关完成CTRL-X CTRL-O.Omni-completion需要特定于文件类型的插件,Golang 的vim-go软件包支持它.

格式:

  • 表格 - 轻松对齐文本
  • vim-surround - 快速环绕一些文本(即括号,标签......)

太棒了:

  • ALE - 对多种语言进行实时语法检查,支持Vim 8的新功能,例如异步作业,以确保它在运行时不会冻结Vim.
  • 逃亡者 - 在vim,diffs,blame等内部的Git
  • gitgutter - 来自git的live diff版本的文件
  • YankRing - 轻松访问以前复制或删除的文本对象

更好的GUI:

  • 航空公司 - 更容易阅读状态行,提供更多有用信息
  • Gundo - 将vim撤消历史视为树(我最喜欢的,确保你在Vim中打开持久撤消)

配色方案:

Vim发行版

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

我建议你不要使用它们.如果你花时间自己配置vim并在交错的过程中安装插件来学好每一个,你会学到更多.

Vim插件指南

VimAwesome可以是浏览Vim插件并找到有用和流行的插件的好地方.

Vim补丁

除了这些脚本之外,您可能还想查看Vim的以下一些补丁.我没有使用它们所以不确定质量,但大多数看起来很有前景.你可以在这里查看所有的补丁,那些使vim更像IDE 的补丁是:

  • 代码检查 - 即时代码检查(注意:现在,Syntastic是更好的选择).
  • Clewn - 允许使用GDB调试和逐步调试Vim中的代码.

安装这些脚本和补丁后,您应该在Vim中使用与Visual Studio或Eclipse相近的功能.


xto*_*ofl 15

你也可以反过来使用一个名为viemu的插件.这个在VS IDE中为您提供vi-mode,这使同事更容易在您的系统上共同驱动.

  • +1 ViEmu是我见过的最好的Visual Studio vi插件 (2认同)
  • Viemu与GVIM相比有点不像vi; 当我需要进行大量编辑时,我使用"外部命令"启动GVIM. (2认同)

dao*_*oad 7

Taglist是一个很棒的插件 - 没有它就离开家.

您还可以设置标签完成.

如果支持您的语言,Omnicompletion是一件好事.

VIM尖端1439具有的IDE-ification的提示综述.


Jer*_*ell 6

我并不是想对这种反应感到煽动,但我想为你省一些头痛.这是我给#vim中提出类似问题的所有人的答案.

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

另一方面,我建议使用一些插件来帮助您从Vim获得一些扩展功能.这些可能适合您的需求.

  • taglist - 非常适合按函数/方法/类导航代码
  • NERDTree - 一个很棒的文件系统导航插件

  • Microsoft Windows不是图像编辑器,但它提供了允许您编写图像编辑应用程序的接口.与VIM(或VI)提供脚本接口的方式大致相同,后者允许您更改应用程序的行为方式.我知道你的意思虽然......它不能编写脚本,它可以成为一个可行的IDE替代品,那没关系:)我的意思是只要它可以将文件分组到项目类型结构我想它可以被称为IDE :) (8认同)
  • taglist +项目管理+调试器,是过去的IDE.Eclipse只是一个捆绑的ctags + vim +插件的Java实现.我真的没有看到差异. (7认同)

ton*_*kla 6

如果您使用Linux,只需尝试Pida.您可以将Vim或Emacs嵌入其中.许多集成,如文件浏览器,项目结构和控制台,使Vim看起来像Eclipse.恕我直言,这是一个使用Vim作为IDE的简单方法.