$ 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и т.д.)