Как заставить vim spellchecker игнорировать ошибки в нижнем и верхнем регистре - PullRequest
0 голосов
/ 07 мая 2018

Я нашел здесь и здесь как заставить программу проверки правописания Vim игнорировать слова с заглавными буквами из проверки. Но мой случай совершенно противоположен. Я хочу игнорировать слова, которые в исправленной форме включают заглавные буквы.

Итак, в предложении:

Европа была выбрана лучшая

только слово chozen неправильное.

Как этого добиться?

Спасибо за любую подсказку.

1 Ответ

0 голосов
/ 10 мая 2018

Этот ответ был впервые опубликован Rich на vi & vim stackexchange :

Я не думаю, что у Vim есть настройки для этого. Одним из обходных путей является создайте новый файл заклинаний, который содержит все в вашем текущем заклинании файл (ы), но только строчными буквами:

  1. Создать новый буфер, содержащий все из файлов заклинаний, которые используются в данный момент:

    :spelldump
    
  2. Удалить строки, которые не содержат заглавных букв. Это не обязательно, но нет смысла хранить дубликаты записи для строчных слов:

    :v/\u/d
    
  3. Конвертировать весь файл в нижний регистр, игнорируя строки, содержащие расположение файлов заклинаний:

    :v/^#/norm gu$
    
  4. Сохранить файл:

    :w ~/.vim/spell/lowercase.utf-8.add
    
  5. Начните использовать этот файл в дополнение к стандартным файлам в каталоге Vim $VIMRUNTIME. Обратите внимание, что Vim использует значение по умолчанию 'spellfile' значение внутри, если настройка пуста, так что если у вас уже есть какие-либо существующие файлы заклинаний, вам нужно убедиться, что они включены в этом параметре (который принимает список, разделенный запятыми):

    :set spellfile=~/.vim/spell/lowercase.utf-8.add
    

    Обратите внимание, что если вы установите эту опцию в работающем экземпляре Vim, он кажется, не вступает в силу для проверки орфографии, пока вы не взаимодействуете с это (например, с помощью команды zg.)

Вышеуказанное не влияет на то, как Vim обнаруживает строчные слова в начало предложения, написанное неправильно. Вы можете отключить это с опцией 'spellcapcheck':

:set spellcapcheck=
...