【问题标题】:No auto-complete on HTML and CSS files in VIM (YouCompleteMe)VIM (YouCompleteMe) 中的 HTML 和 CSS 文件没有自动完成功能
【发布时间】:2015-12-10 21:25:30
【问题描述】:
由于某种原因,我在 html 和 css 文件上没有自动完成功能。所有这些都适用于其他语言,例如 JS、Ruby 或 Python。
我今天花了将近 2 小时试图修复它,但无济于事。我使用Vundle 和YouCompleteMe 来完成所有这些工作。您可以在这里查看我的.vimrc 文件https://gist.github.com/comatory/73aacac1b0249b8c1c55。
我使用的是 OS X 10.10.5,我的 Vim 版本是 7.4(通过 Homebrew 安装)。我也使用 Macvim,但没关系,它们都不起作用。
【问题讨论】:
标签:
html
css
vim
autocomplete
【解决方案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 中