Vim插件youcompleteme错误消息

Vim插件youcompleteme错误消息,vim,youcompleteme,Vim,Youcompleteme,每次我编写新的python源代码*.py,都会出现以下错误消息: Error detected while processing BufRead Auto commands for"*.py": E518:Unknow option:set E28:No such highlight group name: BadWhitespace 我怎样才能修好它 在我键入此问题之前,我根据修改了我的\u vimrc文件,但错误消息仍然存在。更糟糕的是,还会出现另一条错误消息: ycmd服务器关闭(使用“

每次我编写新的python源代码
*.py
,都会出现以下错误消息:

Error detected while processing BufRead Auto commands for"*.py":
E518:Unknow option:set
E28:No such highlight group name: BadWhitespace
我怎样才能修好它

在我键入此问题之前,我根据修改了我的
\u vimrc
文件,但错误消息仍然存在。更糟糕的是,还会出现另一条错误消息:

ycmd服务器关闭(使用“:YcmRestartSever”重新启动)。未检测到YCM核心库;在使用YCM之前,您需要编译它。按照文档中的说明操作。


我是一个新的Gvim用户,在Windows10中使用GVIM8.0。我通过搜索互联网设置了python开发环境,并通过Vundle安装了YouCompleteMe插件,但现在我自己编译YCM太难了。

YCM依靠
ycmd
来完成实际工作
ycmd
是一个在后台运行的已编译服务,因此您必须编译它才能使其正常工作

基本安装过程包括打开操作系统的shell/命令行,
cd
-ing到YouCompleteMe的vim插件目录,并在那里运行
/install.py
来编译它。如果Python以外的语言需要它,请运行
/install.py--help
,并查找需要添加的任何附加标志,以启用对要使用的语言的支持

以上假设您已阅读YCM的安装指南并安装了所需的依赖项。有两个与您的案例相关的指南,它们都非常详细和清晰:

  • (以最佳案例为基础提供)
  • (如果前者不起作用,则解决任何问题)
用于类似以下错误

Error detected while processing BufRead Auto commands for"*.py":
E518:Unknow option:set
E28:No such highlight group name: BadWhitespace
将|添加到
set xxx的末尾

au BufNewFile,BufRead *.js,*.html,*.css,*.vue
\ set tabstop=2 |
\ set softtabstop=2 |
\ set shiftwidth=2
设置


请安装CMake并重试。回溯(最近一次调用):文件“C:\Users\admin\.vim\bundle\YouCompleteMe\install.py”,第44行,主()文件“C:\Users\admin\.vim\bundle\YouCompleteMe\install.py”,第33行,主子进程。检查调用([python\u binary,build\u File]+sys.argv[1:])文件“C:\Python27\lib\subprocess.py”,第541行,在check\u call raise CalledProcessError(retcode,cmd)subprocess.CalledProcessError:Command'['C:\\Python27\\python.exe',u'C:\\Users\\admin\.vim\\bundle\\YouCompleteMe\\third\u party\\ycmd\\build.py']中,返回非零退出状态1我尝试运行install.py,然后返回这些消息。这里我有一个问题:我必须“编译”吗我用过YCM插件吗?如果是的话,很不方便。请看我的更新答案。是的,要使用YCM,您必须编译一次
ycmd
二进制文件(在某些情况下,当您更新YCM插件并且API发生不兼容的更改时,需要再次编译)。这有点不方便,但在后台运行持久性服务是您获得快速准确完成(以及YCM提供的其他功能)的唯一方法。非常感谢您的帮助和耐心。在我安装VS后,编译YCM,编译消息消失,也许YCM的问题已经解决了。Python完成了吗?尝试在vim中打开一个
test.py
文件,执行类似于
import math
的操作,然后按control space(默认完成快捷方式)。这将向您显示一个完成列表。如果有效,请投票/接受我的答案。其他未提及YCM的错误似乎与此问题无关。您的
\u vimrc
文件可能还有其他问题。可能是因为“Plugin'vim scripts/indentpython.vim'au BufRead、BufNewFile.py、.pyw、.c、.h match badwitespace/\s\+$/”而导致错误28“badwitespace”,我从一篇文章中复制了这些错误。@dkasakI注释了au BufRead语句,错误518,E28 DISAPPEAR。但是如何将au命令修改为右侧?谢谢。
match
命令将“突出显示组”(一组背景和/或前景颜色)应用于与所提供模式匹配的字符串。您的问题是没有定义此突出显示组(您可能没有粘贴文章的整个片段)。要修复它,您必须在_vimrc中使用类似于
highlight-BadWhitespace-ctermbg=red-guibg=red
的内容定义highlight组。这将指示vim
BadWhitespace
意味着它应该将背景涂成红色。颜色可以是名词,也可以是十六进制代码,比如,
#6f4822
@dkasak我从这个网站上复制了命令。这是一个很好的答案,在主要问题中进行了解释。如果你把它编辑到这里,你可以做得更好。第二节有什么意思吗?
"Flagging Unnecessary Whitespace
highlight BadWhitespace ctermbg=red guibg=darkred
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/