$ grep "'" /usr/share/dict/words | wc -l
26226
$ grep -i python /usr/share/dict/words
Python
Python's
python
python's
pythons
Проблема заключается в том, что все эти слова с апострофом, на самом деле в вашем файл словаря. Так что, если у вас все в порядке с изменением словаря орфографии vim, то сделайте так:
$ grep "'" /usr/share/dict/words | sed "s/'/’/g" >> ~/.vim/spell/en.utf-8.add
Это будет
grep
найти все слова в системном словаре, которые содержат апостроф ( '
);
sed
изменить прямые кавычки на умные (то есть s/'/’/g
, когда первая кавычка прямая, а вторая умная); и
- добавьте его в свой словарь языка (замените его на любой другой язык).
Вам нужно будет перекомпилировать это в .spl
файл, что вы можете сделать из Vim:
:mkspell! ~/.vim/spell/en.utf-8.add
Если вы хотите использовать фактические файлы заклинаний, которые Vim использует в качестве начальной точки (вместо вашего системного словаря), вы можете использовать :spelldump
команду. Вывод будет включать все слова, которые Vim использует для текущего spelllang
, включая те , которые уже добавлены из .add
файла. Сохраните результат :spelldump
в файл и удалите первые две строки (информация заголовка), затем используйте те же команды, что и выше. Вы можете также хотеть передать это uniq
также, чтобы удалить дубликаты записей. (Нет необходимости sort
; вывод :spelldump
уже отсортирован.)
's
в качестве шаблона? Разве это не просто поиск'
правильного, а? Это будет не хватать слов , которые имеют'
в другом месте (например , какyou'd
,you've
и т.д.):mkspell!
маршруту, вы также можете отфильтровать слова, которые предназначены для несоответствующих регионов.На данный момент вы можете просто скачать и скомпилировать новый файл заклинаний для VIM. Цитаты Unicode были добавлены в текущую версию словаря английского языка.
Шаги, основанные на этой статье :
Создайте каталог
~/.vim/spell
и перейдите к нему. (Путь является частью VIMruntimepath
.)Для английского языка словарь можно скачать здесь . (Альтернативно: из репозитория LibreOffice - нужны
.dic
и.aff
файлы, и файлы.)NB. Для лучших результатов я бы порекомендовал получить как en_US, так и en_GB. Словарь en_GB можно найти в репозитории LibreOffice.
Распакуйте файл:
Архив должен как минимум содержать эти файлы:
en_US.aff
иen_US.dic
.Запустите VIM (в
~/.vim/spell
каталоге) и в VIM выполните команду::mkspell! en en_US
Или, если вы также скачали файлы en_GB:
:mkspell! en en_US en_GB
Выйдите из VIM и проверьте файлы в текущем каталоге. Там должен быть файл
en.utf-8.spl
создан.Готово!
Теперь, после того, как вы запустите VIM и активируете проверку орфографии для английского языка, он должен сначала выбрать только что созданный
.spl
файл, в~/.vim/spell
котором уже содержится поддержка кавычек Unicode. По крайней мере, так, как это работает для меня.источник