Старый добрый aspell, оказывается, тоже так умеет. Прикапываем рецепт!
Опубликовано: 2024-01-29
Категория: OpenBSD
Теги: aspell хауту openbsd micro
=> /static/aspell.png GNU aspell
=> /static/micro.png Micro editor
Любопытство до добра не доведет. Много раз в этом убеждался и всё равно не поумнел. Скажем, вот уже много-много лет я пользовался редактором vim, привык, освоил, руки под него, можно сказать, искривил, конфиг с годами выстрадал. Даже когда родитель и ключевой разработчик vim Брам Моленар (он написал более 3,5 миллионов строк кода оного vim, чуть ли не больше всего остального комьюнити вместе взятого) внезапно помер - я не присоединился к кричащим "всё пропало!". Да что там, даже когда Брам Моленар хуже, чем помер - выступил в поддержку скакуасов и укронацистов - я не сдавался. Просто брезгливо перелез на neovim, где до такого не опускались, да и lua выглядит куда привлекательнее в качестве встроенного скриптового языка.
Но любопытно же, зараза, что там люди нового-то изобретают для редактирования текста. Вот услышал где-то мельком про редактор micro, поставил, потюнил... да и приглянулся мне он чем-то. Шустрый, резкий, вроде всё необходимое под рукой и даже какая-никакая экосистема плагинов зарождается (и снова на lua). Присутствует на зеркалах OpenBSD в качестве бинарного пакета и в портах. В общем, не буду растекаться мыслью про этот micro, благо по нему есть документация и по его плагинам тоже.
=> Документация по micro... | ...и по его плагинам.
Вот, скажем, проверка орфографии реализована плагином aspell - оный плагин устанавливается так:
$ micro -plugin install aspell
Естественно, требуется наличие самого aspell и русского словаря для него (английский с ним идет из коробки), в OpenBSD оно устанавливается вот так:
# pkg_add aspell aspell-ru
Ну а далее запускаем редактор micro и в командном его режиме (Ctrl-e) пишем: set aspell.check on
, для выбора языка set aspell.dict ru
(доступны также варианты словарей с "Ё" - ru-yo, без оной - ru-ye, и оба варианта сразу - ru-yeyo).
А для удобства управления этим делом с клавиатуры, настроим сочетания клавиш для включения/отключения проверки, добавления незнакомого слова в пользовательский словарь и выбора предлагаемого варианта автозамены слова под курсором. Для этого в ~/.config/micro/bindings.lua впишем что-нибудь на ваш вкус, например:
{ "Alt-d": "lua:aspell.addpersonal", "Alt-s": "lua:aspell.togglecheck", "Alt-/": "lua:aspell.acceptsug" }
Теперь, собственно, о сабже: а как же нам сделать так, чтоб в режиме проверки орфографии использовалось сразу два словаря: русский и английский? Из коробки aspell вроде бы так не умеет. Точнее, aspell-то умеет, он тупенькая искалка по любому подсунутому словарю - словарь нужен! И мы не можем ждать милостей от природы, мы сделаем его своими руками вот так:
su cd /tmp mkdir aspell_ruen cd ./aspell_ruen cp /usr/local/lib/aspell/en.dat /tmp/aspell_ruen/ cp /usr/local/lib/aspell/ru.dat /tmp/aspell_ruen/ grep '^special' en.dat >>ru.dat aspell dump master en >w.en aspell dump master ru-yeyo >w.ru cat ./w.ru ./w.en >w.all aspell --lang=ru --encoding=UTF-8 create master ruen.rws < w.all cp ./ru.dat /usr/local/lib/aspell/ echo "add ruen.rws" > /usr/local/share/aspell/ru.multi
И вроде бы всё, если я ничего не забыл.
Чудесным образом, у нас теперь будет работать проверка орфографии сразу на русском и английском! По крайней мере У Меня Всё Работает.
text/gemini;
This content has been proxied by September (3851b).