我想知道是否可以在Vim内容帮助脚本语言(如Ruby或JavaScript)。如何在Vim中协助Ruby或JavaScript?
如果可能,我该怎么做?
我必须编译vim源来打开'rubyinterp'选项吗?
我想知道是否可以在Vim内容帮助脚本语言(如Ruby或JavaScript)。如何在Vim中协助Ruby或JavaScript?
如果可能,我该怎么做?
我必须编译vim源来打开'rubyinterp'选项吗?
你称之为“内容辅助”(Eclipse背景?)在Vim中被称为“Omni completion”。它是更大的完成系列的一部分,简称为“插入模式完成”,您可以在:h ins-completion
中阅读关于它的全部内容。
没有与大多数IDE完成机制两个大的差异,虽然:
Vim的内置补全机制不能自动:你需要按特定的快捷方式完成菜单出现。如果你想自动完成,你需要一个插件:NeoComplCache,SuperTab,AutoComplPop或更年轻的YouCompleteMe。还有其他的,所以试试vim.org。
Vim不像IDE那样“理解”你的语言。 Vim是面向编程的通用文本编辑器,但它无法解析代码并真正理解您的意思或遵循范围或依赖关系树。因此,完成可能有点模糊。所以不要让你的期望太高。
你不需要任何特别的东西来完成JavaScript,但是AFAIK,Vim必须用Ruby支持编译来提供Ruby完成。如何获得适当的Vim构建取决于您的平台,我们不知道。
在这两种语言中,(在插入模式下)在method_name.
后应打开一个完成菜单,其工作方式与其他编辑器/ IDE中的完全相同。
是的,至少在某种程度上。
启用rubyinterp将需要重新编译,除非您可以找到具有它的二进制文件。你会发现更多关于这个问题here。
代码辅助可以通过使用插件和vim的本地功能(称为(全)完成)来实现。有很多插件的工作,但我最喜欢的一个是Neocachecomplete。或者尝试一下像“the one made by Steve's Francia”这样的vim发行版。
此外,您还可以添加自定义语法文件,以扩展对所选语言的支持。你也可以找到检查语法的插件。 syntastic。
谢谢,你的回答也有很大的帮助,但我很抱歉只选择了一个 - romainl的回答大概是1小时左右。 – breadmj 2013-04-07 14:46:41
+1!非常清楚的解释! – Kent 2013-04-06 22:53:50
谢谢!是的,我有日食背景,但为了转换到Vim几个月而挣扎。 – breadmj 2013-04-07 14:43:09