繁体   English   中英

Vim Javascript自动完成选择评论作为建议

[英]Vim Javascript autocompletion picks comments as suggestions

我的vimrc中有以下行以启用Javascript完成:

autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS

问题是,如果我正在处理包含大量注释的JS文件,例如:

// draws the map and the pieces depending on the state of the game

VIM拾取从这些评论的词,如drawsmap等; 并将它们视为可接受的代码建议,但它们显然不是。 我怎样才能过滤掉它们?

JS自动完成需要动态类型推断,这对于非IDE文本编辑器来说很难。(JS没有静态类,你知道!)Vim可能只是实现模糊匹配算法来完成。 (我猜,因为我不亲自使用vim)。 我认为Vim也会考虑评论,因为它可能不解释js!

您可以尝试使用Vim的新Ternjs插件。 你需要node.JS. 确保你的Vim有Python支持。

在线演示在http://ternjs.net/

通常,由于该语言的动态特性,javascript自动完成很难实现。 Ternjs像javascript引擎一样进行类型推断,从而使自动完成更好。 (就我个人而言,我在SublimeText中尝试过。除了初始加载以外没有很棒的体验,也没有像document.body.appendChild这样的内置函数)

Vim有许多适合不同需求的完成机制:关键字完成,文件名完成......以及omn​​i完成 ,最适合编程的完成类型。

Omni完成通常通过按<Cx><Co>启动,并且肯定不会从您文件中的注释中选择建议。 你确定你使用的是全向完成而不是别的吗? <Cn><Cp> ,也许? 请参阅:h ins-completion以获取完整列表。

而且,这条线完全没用。 假设你的~/.vimrcfiletype plugin indent on ,那么完全没必要告诉Vim在JS文件中使用JS完成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM