Я пробовал различные подходы, такие как создание пользовательских словарей, а затем переопределение выделения для Normal
и SpellBad
слов. Я также попытался пометить нужные слова как «редкие» (поскольку Vim использует другое выделение для редких слов), но эти идеи не сработали. Вот лучшее, что я смог придумать:
Определение выделения
Во-первых, определите, как вы хотите, чтобы слова были выделены. В этом примере я хочу, чтобы все числа от одного до десяти были выделены, поэтому я называю свою группу «Числа» и говорю Vim, что я хочу, чтобы эти слова отображались красным цветом либо в терминале, либо в версии с графическим интерфейсом.
highlight Numbers ctermfg=red guifg=red
Вариант 1: Синтаксис
Если слов много, используйте команду syntax
, чтобы определить ключевые слова для выделения:
syntax on
syntax keyword Numbers one two three four five six seven eight nine ten One Two Three Four Five Six Seven Eight Nine Ten
Вариант 2: Совпадение
Обратите внимание, что при использовании параметра синтаксиса вам необходимо включить различные перестановки верхнего и нижнего регистра. Если вы не хотите этого делать, вы можете вместо этого использовать ключевое слово match
, которое работает с шаблонами регулярных выражений, а не со списком слов. Используйте параметр \c
, чтобы игнорировать регистр.
match Numbers /\c\<one\>\|\<two\>\|\<three\>\|\<four\>\|\<five\>\|\<six\>\|\<seven\>\|\<eight\>\|\<nine\>\|\<ten\>/
Недостаток использования match
заключается в том, что Vim должен постоянно оценивать шаблон соответствия для изменений в тексте. Это становится дорогостоящим в вычислительном отношении, если шаблон регулярного выражения слишком длинный (много слов). Это приведет к тому, что Vim станет слишком медленным.
person
Anthony Geoghegan
schedule
30.09.2014
set spell
) - person FDinoff   schedule 26.09.2014