javascript - 如何在 Vim 中内容辅助 Ruby 或 JavaScript?

标签 javascript ruby vim content-assist

我想知道是否可以在 Vim 中支持 Ruby 或 JavaScript 等脚本语言。

如果可以的话,我该怎么做?

我是否必须编译 vim 源代码才能打开“rubyinterp”选项?

最佳答案

你所说的“内容辅助”(Eclipse背景?)在Vim中被称为“Omni Completion”。它是一个更大的完成系列的一部分,简称为“插入模式完成”,您可以在 :h ins-completion 中阅读有关它的所有内容。 .

不过,大多数 IDE 完成机制有两个很大的区别:

  • Vim 的内置完成机制不能自动:您需要按特定的快捷键才能显示完成菜单。如果您想要自动完成,您需要一个插件:NeoComplCache , SuperTab , AutoComplPop或更年轻的YouCompleteMe 。还有其他的,试试vim.org .

  • Vim 不像 IDE 那样“理解”您的语言。 Vim 是一个面向编程的通用文本编辑器,但它无法解析您的代码并真正理解您的含义或遵循您的范围或依赖关系树。因此,完成度可能有点模糊。所以不要期望太高。

您不需要任何特殊的东西来完成 JavaScript,但是,据我所知,Vim 必须使用 Ruby 支持进行编译才能提供 Ruby 完成功能。如何获得正确的 Vim 版本取决于您的平台,而我们不知道这一点。

在两种语言中,点击 <C-x><C-o> (在插入模式下)method_name. 之后应该打开一个完成菜单,其工作方式或多或少类似于其他编辑器/IDE 中的菜单。

关于javascript - 如何在 Vim 中内容辅助 Ruby 或 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15851945/

相关文章:

ruby-on-rails - Rails 多态关联 : getter and setter methods

perl - 在 vim 中正确地突出显示子例程签名

javascript - Vue.js 错误 : Named slots must use '<template>' on a custom element

javascript - 如何轻松禁用 fancybox 幻灯片?

ruby-on-rails - heroku 运行 rake db :migrate reverts migrations

VIM:如何粘贴一些开始行

vim - 在 Vim 中延迟键序列超时的方法?

javascript - 这是哪种音频频谱分析仪?

javascript - 禁用列排序不适用于多个 angularjs 数据表

ruby - 清除方法的主体