VIM (YouCompleteMe) 中的 HTML 和 CSS 文件没有自动完成功能

Posted

技术标签:

【中文标题】VIM (YouCompleteMe) 中的 HTML 和 CSS 文件没有自动完成功能【英文标题】:No auto-complete on HTML and CSS files in VIM (YouCompleteMe) 【发布时间】:2015-12-10 21:25:30 【问题描述】:

由于某种原因,我在 html 和 css 文件上没有自动完成功能。所有这些都适用于其他语言,例如 JS、Ruby 或 Python。 我今天花了将近 2 小时试图修复它,但无济于事。我使用VundleYouCompleteMe 来完成所有这些工作。您可以在这里查看我的.vimrc 文件https://gist.github.com/comatory/73aacac1b0249b8c1c55。

我使用的是 OS X 10.10.5,我的 Vim 版本是 7.4(通过 Homebrew 安装)。我也使用 Macvim,但没关系,它们都不起作用。

【问题讨论】:

使用 YouCompleteMe 的问题跟踪器。 您找到解决方案了吗? 也想知道这个问题是否解决了…… 这可能是相关的:github.com/Valloric/YouCompleteMe/issues/413 我希望这可能会有所帮助codeography.com/2010/08/02/… 【参考方案1】:

默认情况下,它可能在您的文件路径黑名单中。

引用自:https://github.com/ycm-core/YouCompleteMe/

g:ycm_filepath_blacklist 选项

这个选项控制哪些 Vim 文件类型(见 :h 文件类型)应该禁用文件路径补全。选项值应该是一个 Vim 字典,键是文件类型字符串(如 python、cpp 等),值不重要(字典像哈希集一样使用,这意味着只有键重要)。

let g:ycm_filepath_blacklist = '*': 1

* 键是特殊的并且匹配所有文件类型。如果您想完全禁用文件路径完成,请使用此键:

你可以在 Vim 中使用 :set ft? 获取当前文件的文件类型。

默认值:[见下一行]

let g:ycm_filepath_blacklist = 
      \ 'html': 1,
      \ 'jsx': 1,
      \ 'xml': 1,
      \

【讨论】:

【参考方案2】:

检查paste设置的值

:verbose set paste? 

将显示此缓冲区的当前值以及最后设置它的插件。

根据我的经验,如果设置了paste,则不会完成。禁用

:set nopaste

【讨论】:

【参考方案3】:

我建议你使用NeoComplete。我在 Vim8 上尝试过 YouCompleteMe,但由于某种原因无法正常工作。 NeoComplete 为我完成了这项工作。

安装 NeoComplete 后,只需将 let g:neocomplete#enable_at_startup = 1 添加到您的 .vimrrc 中

【讨论】:

以上是关于VIM (YouCompleteMe) 中的 HTML 和 CSS 文件没有自动完成功能的主要内容,如果未能解决你的问题,请参考以下文章

ctags和youcompleteme的比较

vim配置python编程环境及YouCompleteMe的安装教程

vim YouCompleteMe 安装配置

Vim-安装 YouCompleteMe

Vim和Neovim安装YouCompleteMe

mac vim升级支持插件YouCompleteMe