17 марта 2012

Emacs и грамотность.

Я считаю, что правила русского языка соблюдать надо. Даже в неформальщине такой, как интернет. Это как фреймворк - его предки придумали, чтобы мы через N тысяч лет и в космос полететь смогли. Но кривые руки и горячая голова правилам языка следовать не хотят, поэтому метод излечения такой.

  • Установить aspell (программа проверки орфографии).
  • Например, для арчика, так:
    sudo pacman -S aspell aspell-en aspell-ru
    
  • Влить английский словарь внутрь русского, чтобы этим симбиозом потом проверять тексты на двух языках.
  • Взято здесь: http://the-bosha.ru/2010/01/12/aspell-two-language/
    su
    cd /usr/lib/aspell
    grep '^special' en.dat >>ru.dat
    aspell dump master en >w.en
    aspell dump master ru-yo >w.ru
    cat w.ru w.en >w.all
    aspell --lang=ru --encoding=UTF-8 create master ruen.rws < w.all
    rm -f w.ru w.en w.all
    echo "add ruen.rws" > ru.multi
    exit
    
  • Настроить emacs.
  • Можно примерно так:
    (require 'flyspell)
    (require 'ispell)
    
    (setq
     ispell-program-name "aspell"
     ispell-extra-args '("--sug-mode=ultra"))
    
    (setq ispell-highlight-face (quote flyspell-incorrect))
    (setq ispell-have-new-look t)
    (setq ispell-enable-tex-parser t)
    (add-hook 'text-mode-hook 'flyspell-mode)
    (add-hook 'latex-mode-hook 'flyspell-mode)
    (setq flyspell-delay 1)
    (setq flyspell-always-use-popup t)
    
    (setq flyspell-issue-welcome-flag nil)
    

Ну вот и все. Теперь можно какой-нибудь текст и перепроверить себя выполнив команды:

M+x ispell-change-dictionary RET
ru RET
M+x ispell

ispell будет подсвечивать некорректные по его мнению слова. Для коррекции ситуации можно пользоваться следующими клавишами:

  • i
  • Вставить слово в пользовательский словарь и никогда больше не считать его некорректным.
  • r
  • Вручную заменить слово.
  • Цифра или знак
  • Вставить слово из предлагаемых вариантов.
  • Пробел
  • Пропустить слово в этой проверке.

5 комментариев:

  1. root@md:/usr/lib/aspell# aspell dump master ru-yo >w.ru
    Ошибка: The file "/usr/lib/aspell/ru-yo" can not be opened for reading.

    ОтветитьУдалить
  2. Это словарик с буквой ё. Если его нету можно просто ru использовать.

    aspell dump master ru >w.ru

    ОтветитьУдалить
  3. Этот комментарий был удален автором.

    ОтветитьУдалить