问题标签 [omnicomplete]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
676 浏览

autocomplete - 为什么我在编辑源代码时无法使用全能自动完成?

vim.py

输入:

然后按: Cx Co

omin 自动完成功能失败并显示以下消息,为什么?

这个问题与让 Omni complete 在 windows 上的 vim 7.2 上工作不同,因为我在 linux 上使用 vim,而不是 windows。

编辑1:

我现在可以在另一台主机上使用omni自动完成,但是我不能为urlopen自动完成,为什么?

按 CxCo,然后出现错误消息:

编辑 2

不知道为什么omni不能再次工作,令人困惑......

0 投票
1 回答
1397 浏览

ruby-on-rails - 使 Vim 的全能上下文感知 ruby​​/rails 的最佳方法是什么?(即智能感知)

Vim 的自动完成功能似乎只是把厨房水槽扔给我,希望其中一个词是我需要的。如果我知道成员方法的前几个字符,我没问题,但有时我不记得成员方法是 'obj.visible' 还是 'obj.is_visible',在这种情况下,我有 50-1000 个选项涉过。

考虑以下代码:

现在如果我输入

我有 50 个选项,从“<”开始。'new' 在这里将是一个很好的默认值。哎呀,即使我键入 n,cx/co new 也不是第一个选项。

情况变得更糟:

这又给了我 50 个选项,也许它们都是合法的,但为什么不默认为 'some_method' 和 'another_method' 呢?

但是等等,所有选项都不合法:

这只给了我 2 个选项,但其中之一是“a_global_method”。所以显然它完全不知道类或模块是什么,至少在我当前的设置下。如果无论如何我必须输入一半的成员名称,我也可以使用。

说到这里,总结一下我目前的设置如下: rails.vim 设置如下:

我已经是 12 年以上的忠实 vim 用户,但完成对我来说从来没有真正正确地工作过。我在工作中使用 Visual Studio,并且经常使用智能感知作为拐杖。由于我在 Rails 中编码的频率不足以记住每种方法,因此一点点智能的爱会大有帮助。

有什么插件很好用吗?我只是缺少一个设置吗?

0 投票
1 回答
677 浏览

c++ - Vim 中的 OmniCppComplete 只能作为 root 使用

我尝试在 Vim 中安装 OmniCppComplete 并遵循本教程: http ://en.kioskea.net/faq/2367-the-autocompletion-cc-in-vim

我注意到该插件仅在我以 root 身份运行时才有效。谁能给我一个提示,如何让所有用户都可以使用这个插件?

.Vimrc:(来自教程)

我会很高兴所有的提示和答案!问候,

0 投票
1 回答
1119 浏览

vim - 默认 Omnicomplete 支持

我刚刚启用了omnicomplete功能(我正在使用Vim7.3),我想尝试一下,所以我写了一个test.c:

“_”是当前光标所在的位置。但是当我按下 Ctrl X 或 Ctrl O 时,什么都没有弹出。它只是说找不到模式。

我对此有点困惑。它至少不应该支持变量自动完成吗?这是我在 .vimrc 中添加的内容:

0 投票
1 回答
1009 浏览

tags - 如何禁用 Vim 中标签的 TAB 补全?

我使用 ctags 创建了标签文件。

现在,当我尝试使用 TAB 从缓冲区完成文本时,我还会在弹出窗口中看到所有标签。

如何防止这种情况并且不在完成弹出窗口中显示标签?

我正在使用 SuperTab,没有指定任何选项。

0 投票
1 回答
1586 浏览

vim - Vim Omnicppcomplete - 部分工作

我刚刚安装了omnicppcomplete,它正在“kindof”工作。

这种行为真的很奇怪,Omnicppcomplete 适用于某些文件,但不适用于其他文件。

例如:如果我打开 file1.cpp,如果我 push ,omnicppcomplete 正在工作。但是,如果我打开 file2.cpp,omnicppcomplete 不再工作并且我得到错误: -- Omni complete (^O^N^P) Pattern not found。

这是我完整的.vimrc:

此外,我使用的是 MacVim 7.3。

任何帮助深表感谢。

0 投票
2 回答
822 浏览

vim - VIM - 从项目中的多个位置采购标签

再会,

我通常处理相对较小(少于 20,000 行代码)的项目,这些项目都包含在一个目录中,有自己的 Makefile,并且相当容易使用。

VIM 是我首选的编辑器,当我打开一个项目时,我通常通过映射到F10键来构建 ctags 列表:

CTRL这允许我通过将光标移动到文本上并点击+]以及通过 OmniCppComplete 使用带有下拉列表的代码完成来跳转到变量/结构/等的定义。

然而,我现在正在做一个稍微大一点的项目,它利用了很多结构。此外,其中许多结构都有其他自定义结构的数组作为成员,因此代码完成现在对我来说是一个非常有用和重要的工具。

我有两个包含大量.C文件和.h文件的路径,它们可能会因机器而异。然而,在每台机器上,我们的.bashrc文件中都有一个环境变量指向它们,如下所示:

我希望能够让 VIM 在我尝试执行代码完成时自动引用这些附加路径的内容(通过 VIM 的内置 OmniCppComplete 功能),或者当我在 VIM 中使用CTRL+时跳转到这些位置的文件]跳转到结构、函数、变量等的定义。

因此,对于上述两种路径,我cd都进入了它们,并通过ctags -R. 然后,我修改了我的~/.vimrc文件以包含其他标签路径,如下所示:

然后cd我进入我的项目/home/user1/projects/test,启动 VIM,然后F10在 VIM 中对其进行索引。但是,这根本不起作用。事实上,它破坏了我甚至只为项目本身使用标签的能力(即:CTRL+]现在什么都不做)。

有没有人对我如何通过环境变量使用多个源目录来获得代码完成源标签和跳转到定义有任何建议?

提前感谢大家的时间和帮助!

0 投票
1 回答
127 浏览

python - Vim:如何在 Python 中显示所有补全而不是扩展为“self”并使用全补全?

self当函数/类/等没有开始字符时,我真的不需要扩展的“特性” 。尚未指定,我宁愿让它显示该上下文中所有可用功能的列表。

有没有办法以某种方式启用它?

恐怕这是在 python3complete 中硬编码的(/usr/share/vim/vim73/autoload/python3complete.vim),在这种情况下:该脚本是否有任何更改版本?
(这个是针对 的python3,但是应该是一样的python2.x,没测试过。)

0 投票
1 回答
248 浏览

vim - 如何在vim中为不同类型的自动完成设置不同的自动完成行为?

vim 的默认行为是写下它找到的第一个匹配项并显示一个下拉菜单和所有其他匹配项。当我使用它来自动完成代码内容(例如库中的函数名称)时,使用它通常很尴尬,因为它会选择最长的单词并下拉一个长列表,这需要花费太多精力来删除一半单词或手动搜索相似词的菜单。

示例:我使用 OpenCV,当我编写cvCr(<Ctrl-x><Ctrl-o>)它时,它会写入cvCreate2DHMM并显示一个菜单,其中包含大约 20-30 个东西,所有内容都以cvCreate. 然后我必须删除一半的单词或在菜单中手动搜索。

有一种简单的方法可以改变这种行为,只写下最长的常见匹配,就像大多数 IDE 一样(它在手册中,我知道如何找到它)。

但是,当我<Ctrl-x>s用来修复拼写错误时,我更喜欢默认行为。

有没有办法为不同的自动完成分别设置行为?

0 投票
1 回答
184 浏览

vim - 如何修复:Vim 完成列表从列表底部选择完成并向上移动

截图:在此处输入图像描述
Vimrc:http ://pastebin.com/jijwTChi

从屏幕截图中可以看出,当完成列表打开时,它首先选择列表底部的单词并向上移动。

如何从列表顶部开始选择 - 几乎所有时间都是最相关的。