Я хотел бы изменить правила синтаксиса для необработанных строк C ++, чтобы необработанные строки выделялись, как если бы они не были строками, но при этом подсветка строк оставалась такой же во всех других случаях. Это обратный этот вопрос (мне нравится поведение 7.4). Знание C ++ не обязательно для этого вопроса. Я на общей машине и не могу напрямую редактировать файлы синтаксиса по умолчанию.
syntax list cCppString
списки
cCppString xxx start=/\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="/ skip=/\\\\\|\\"\|\\$/ end=/$/ end=/"/ excludenl contains=cSpecial,cFormat,@Spell
links to cString
и syntax list cString
показывает что-то подобное. Оскорбительные шаблоны: R\|LR\|u8R\|uR\|UR
В файле синтаксиса по умолчанию vim80/syntax/c.vim
Я вижу следующие строки
syn region>...cString>>.......start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
syn region >..cCppString>.....start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
Мне нужно удалить эти шаблоны, но все остальное не повреждено. Я попытался переопределить их в .vim/after/syntax/c.vim
с такими вещами, как
syn region>...cString>>.......start=+\(L\|u\|u8\|U\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
, но это объединяет вместо перезаписи.