Исключить заглавные слова из 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 для получения дополнительной информации.