在vim中,我试图在 (
之后和 .coffee
文件中的 )
之前突出显示空格 .
所以在 ( foo = true, bar = false )
中,该方法会在 foo
之前和 false
之后突出显示 space .
这就是我所拥有的:
highlight BraceWhiteSpace ctermbg=red ctermfg=white guibg=#592929
fun! UpdateMatch()
if &ft !~ '^.*\.coffee$'
match BraceWhiteSpace /([ \t]\+\|[ \t]\+)/
else
match NONE
endif
endfun
autocmd BufEnter,BufWinEnter * call UpdateMatch()
关键部分在这里
match BraceWhiteSpace /([ \t]\+\|[ \t]\+)/
这是有效的,除了它还匹配一个新行上带有前导空格的大括号,我不想要:
)
我正在努力编写一个具有lookbehind的正则表达式来检查它不在行的开头 .
有人可以帮忙吗?
2 回答
您可以使用此解决方案,并在
)
之后放置一个lookbehind:\(^[ \t]\+)\)\@<!
仅检查是否没有行开头后跟1个空白,然后是)
,之后匹配1个空白与)
.完整的表达:
试试这一行: