Исключить заглавные слова из Vim Spell check
Слишком много акронимов и собственных существительных для добавления в словарь. Я хотел бы, чтобы любые слова, содержащие большую букву, исключались из проверки орфографии. Слова ограничены либо пробелом, либо специальными символами (например, не-алфавитом). Возможно ли это?
Первая часть ответа терпит неудачу, когда строчные и специальные символы окружают заглавное слово:
,jQuery,
, iPad,
/demoMRdogood/
[CSS](css)
`appendTo()`,
Текущий ответ дает ложные срабатывания (исключает из проверки орфографии), когда строчные слова разделяются специальным символом. Вот примеры:
(async)
leetcode, eulerproject,
Щедрость для человека, который исправляет эту проблему.
Ответы
Ответ 1
Вот решение, которое сработало для меня. Это передает случаи, которые я упомянул в вопросе:
syn match myExCapitalWords +\<\w*[A-Z]\K*\>+ [email protected]
Вот альтернативное решение, которое использует \S
вместо \K
. Альтернативное решение исключает символы, которые находятся в скобках, и им предшествует заглавная буква. Поскольку он более снисходителен, он лучше работает для URL-адресов:
syn match myExCapitalWords +\<\w*[A-Z]\S*\>+ [email protected]
Исключить "'s" из проверки орфографии
s
после того, как апостроф считается буквой с орфографической ошибкой, независимо от решения выше. быстрое решение состоит в том, чтобы добавить s
в ваш словарь или добавить к нему случай:
syn match myExCapitalWords +\<\w*[A-Z]\K*\>\|'s+ [email protected]
Это не было вопросом, но это обычный случай для проверки орфографии, поэтому я упомянул об этом здесь.
Ответ 2
Вы можете попробовать этот
:syn match myExCapitalWords +\<[A-Z]\w*\>+ [email protected]
В приведенной выше инструкции говорится, что vim
обрабатывает каждый шаблон, описанный \<[A-Z]\w*\>
как часть кластера @NoSpell
. Элементы кластера @NoSpell
не проверяются орфографией.
Если вы хотите исключить все слова из проверки орфографии, содержащие хотя бы один неалфавитный символ, вы можете вызвать следующую команду
:syn match myExNonWords +\<\p*[^A-Za-z \t]\p*\>+ [email protected]
Введите :h spell-syntax
для получения дополнительной информации.