Вот простой способ сделать это:
в vim, убедитесь, что подсветка синтаксиса включена с :syn on
выполните команду :highlight
, чтобы получить список всех имен групп подсветки и примеры того, как они выглядят. Группа Error
выглядит так, как будто она хорошо выделяется в моей схеме цветов, поэтому я буду использовать ее в моем примере (но вы можете использовать любое другое имя, например Todo
или Search
)
:syntax match Error /\[Capítulo[^\]]*\]/
Этот шаблон не даст вам жадно сопоставить самый большой кусок. Даже если другие люди предлагают вам использовать регулярное выражение /\[Capítulo.*\]/
- это, вероятно, не то, что вы хотите, потому что оно будет соответствовать всему промежуточному, если в строке два или более таких шаблонов.
Например, /\[Capítulo.*\]/
будет соответствовать всей этой строке:
[Capítulo foo] эти слова не должны выделяться [Capítulo bar]
Тот же пример, но с /\[Capítulo[^\]]*\]/
будет соответствовать только материал внутри []:
[Capítulo foo] эти слова не должны выделяться [Capítulo bar]
С регулярными выражениями это обычная уловка - создавать группу, которая соответствует всему, кроме символа, для которого вы хотите завершить совпадение, вместо использования .*
, который будет соответствовать как можно большему числу символов. В этом случае мы делаем группу [^\]]*
, которая говорит: " соответствует всему, кроме]. "
Если это работает так, как вы хотите, добавьте строку соответствия синтаксиса без ":
" к вашему .vimrc