【发布时间】: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