首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Vim Javascript自动完成功能选择注释作为建议

Vim Javascript自动完成功能选择注释作为建议
EN

Stack Overflow用户
提问于 2013-04-26 21:44:22
回答 2查看 674关注 0票数 3

我的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等;并将它们视为可接受的代码建议,而这些建议显然不是。我怎样才能过滤掉它们?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-26 22:53:36

Vim有许多适合不同需求的补全机制:关键字补全、文件名补全…和泛补全,这是最适合编程的补全。

Omni补全通常通过按<C-x><C-o>键启动,并且肯定不会从文件中的注释中选取建议。你确定你使用的是全补全,而不是其他的吗?也许是<C-n>或者<C-p>?完整列表请参见:h ins-completion

而且,这行代码完全没有用。假设您的~/.vimrc中有filetype plugin indent on,则完全没有必要告诉Vim在JS文件中使用JS完成。

票数 1
EN

Stack Overflow用户

发布于 2013-04-26 21:53:13

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

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

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

通常,由于javascript语言的动态特性,很难实现javascript自动完成。Ternjs使类型推断类似于javascript引擎,从而使自动补全更好。(就我个人而言,我曾在SublimeText中尝试过tern。除了初始加载和没有内置函数(如document.body.appendChild)之外,体验非常棒)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16238056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档