2011-11-14 65 views
3

在vim作秀空白EOL我用VIM匹配刪除其他比賽

highlight whitespaceEOL term=reverse ctermbg=Grey guibg=Grey 
match whitespaceEOL /\s\+\(\%#\)\@!$/ 

但是當我用一根火柴長行

augroup longLines 
    autocmd! filetype zsh,sh,python,vim,c,cpp :match ColorColumn /\%>80v.\+/ 
augroup END 

我輸掉了第一場比賽,爲什麼?

回答

5

:match只匹配一次一個圖案。

:2match:3match存在正是這個原因。

或者,您也可以實現以此爲syntax

嘗試:

2match whitespaceEOL /\s\+$/ 
3match ColorColumn /\%>80v.\+/ 

或者:

syntax match whitespaceEOL /\s\+$/ 
syntax match ColorColumn /\%>80v.\+/ 
+0

是一個解決方案使用'SYN比賽...'? – JuanPablo

+0

但是,我可以定義'SYN比賽...'在〜/ .vimrc中許多文件類型? – JuanPablo

+0

我加入這個 亮點whitespaceEOL項=反向ctermbg =灰色guibg =灰色 SYN比賽whitespaceEOL/\ s \ + \(\%#\)\ @!$/ 但不工作 – JuanPablo