【问题标题】:Keyword local completion doesn't work with loaded buffers in Vim关键字本地完成不适用于 Vim 中加载的缓冲区
【发布时间】:2013-04-04 09:51:39
【问题描述】:

当我想使用 CTRL-N 从其他缓冲区自动完成时,vim 找不到任何匹配项。我不知道如何找出问题所在。我的complete 设置是默认设置:complete=.,w,b,u,t,i。 它仅适用于活动缓冲区。我什至尝试:set complete+=U 但没有成功......我怎么能找到这个? 我的 vim 版本是 MacVim(7.3,快照 61)。

【问题讨论】:

  • 当您执行:ls 时,您有多少已加载的缓冲区?它们是关闭/隐藏还是在拆分中可见?你的 .vimrc 中有 set hidden 吗(:set hidden? 返回什么?)?
  • 我只有不到 10 个,有些是隐藏的,有些不是,它们是不可见的,但是当可见时,它也不起作用!我有set hidden,所以它永远在线。
  • 那个。是。奇怪的。您的设置似乎完全正常。我有与您完全相同的 MacVim 版本,set hidden 和未改动的complete<C-n>/<C-p> 工作正常。您介意发布您的 .vimrc 和可能使用的 ftplugins 列表吗?
  • 这是我的 vimrc:pastie.org/2608862 我有 php.vim、html_snip_helper.vim、vo_base.vim (vimoutliner)、pentadactyl.vim 和 phpcomplete.vim。为什么 ftplugins 很重要?
  • 插件/ftplugins 可能很重要,因为有些可能会覆盖默认命令/快捷方式。您可以键入:map 来获取由您、您的插件和 MacVim 背后的优秀人员定义的自定义快捷方式列表;看看<C-n> 是否存在。你也可以看看你的插件。除此之外我不知道:omni-completion 是 Vim 的核心特性,因此非常可靠。我建议你在 Vim 邮件列表和 Vim 用户组上提问。还有一个问题:其他类型的全补全(例如<C-x><C-o>)有效吗?

标签: vim autocomplete


【解决方案1】:

似乎 Supertab 插件是造成烦恼的原因。 (见上面的cmets)

【讨论】:

    【解决方案2】:

    在我的例子中是sparkup ftplugin。

    在加载捆绑包之前,必须将 let g:sparkupNextMapping = '<c-g>n'(或您喜欢的任何键)添加到我的 .vimrc 中。

    【讨论】:

      猜你喜欢
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-13
      • 1970-01-01
      相关资源
      最近更新 更多