Python 处理BufRead Auto命令时检测到unix vim错误

Python 处理BufRead Auto命令时检测到unix vim错误,python,vim,Python,Vim,我是一名新的vim用户,遵循本指南,使vim自动缩进python代码并标记不必要的空白: 我遇到的问题是在.py文件上启动vim时收到此错误:处理“*.py”的BufRead Auto命令时检测到错误: E28:没有这样的突出显示组名称:BadWhitespace 我将此错误注释掉以下几行: " Flag unnecessary whitespace au BufRead,BufNewFile *.py,*.p

我是一名新的vim用户,遵循本指南,使vim自动缩进python代码并标记不必要的空白:

我遇到的问题是在.py文件上启动vim时收到此错误:
处理“*.py”的BufRead Auto命令时检测到错误:
E28:没有这样的突出显示组名称:BadWhitespace

我将此错误注释掉以下几行:

" Flag unnecessary whitespace                                           
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/   <- this line   

" UTF8 Support                                                          
set encoding=utf-8                                                      
" Proper PEP8 Identation                                                
au BufNewFile,BufRead *.py                                              
    \ set tabstop=4                                                     
"    \ set softtabstop=4      <-- this line                                          
    \ set shiftwidth=4                                                  
    \ set textwidth=79                                                  
    \ set expandtab                                                     
    \ set autoindent                                                    
    \ set fileformat=unix         
“标记不必要的空白
au BufRead、BufNewFile*.py、*.pyw、*.c、*.h匹配坏空格/\s\+$/命令:

match BadWhitespace /\s\+$/
如果定义了
badwitespace
突出显示组,则将突出显示尾随空格。若要检查是否定义了该组,请执行
:突出显示badwitespace
。如果未定义,则可以使用默认突出显示组,例如:

match Cursor /\s\+$/
或者定义一个
badwitespace
突出显示组。可能的颜色组合为:

:highlight BadWhitespace ctermfg=16 ctermbg=253 guifg=#000000 guibg=#F8F8F0
在使用
badwitespace

的autocmd之前添加此行代码,或者从以下位置添加:


有一个更简单的解决方案。你们看,我遇到了同样的问题,在这个小把戏之后,并没有错误消息,一切都正常工作

诀窍是,BufNewFile,BufRead应该用空格隔开。 所以这条线应该是这样的

au BufNewFile, BufRead *.py
而不是
au BufNewFile,BufRead*.py

最好的问候

问题在于多个
集合
s。此行的第一个
集合

\set tabstop=4

是命令,以下所有
set
s都被视为参数

应该是这样的:

au BufNewFile,BufRead *.py
    \ set tabstop=4
    \ softtabstop=4
    \ shiftwidth=4
    \ textwidth=79
    \ expandtab
    \ autoindent
    \ fileformat=unix

似乎接近错误,但是如果我想将突出显示的颜色更改为红色,该怎么办?然后您可以相应地调整值
ctermbg
。该值将取决于您的终端。例如,执行
:echo$TERM
显示我的终端是
xterm-256color
。然后我可以查找xterm-256-color ch艺术并发现红色是9。然后我设置了
ctermbg=9
。但是,谢谢你,为什么你的代码中有两个ctermfg和guifg值?我在同一页上遇到了相同的错误。在处理多个命令(集合“set”)时,别忘了添加一个条。为什么vim
autocmd.txt
文档中有这个例子呢?
:au BufNewFile,BufRead*.html so:h/html.vim
hmm,我对此很好奇。我不能使用空格,或者它对我来说不正常。很难想象它会在不同的版本中被更改,因为它会有破坏性的更改。感谢您的洞察力他在这儿。
au BufNewFile, BufRead *.py
au BufNewFile,BufRead *.py
    \ set tabstop=4
    \ softtabstop=4
    \ shiftwidth=4
    \ textwidth=79
    \ expandtab
    \ autoindent
    \ fileformat=unix