Інтелектуальна перевірка орфографії в org-режимі


38

За замовчуванням результати роботи M-x ispell-bufferв org-режимі дуже невтішні.

  1. Ispell заглядає всередину :PROPERTY:ящиків, у яких зазвичай є такі речі

    :ID:       797495bd-581b-4a42-883b-c2a55a08f08a
    
  2. Вона намагається виправити заяви орга! Наприклад, він скаржиться на SRCв

    #+BEGIN_SRC emacs-lisp
    
  3. Він проходить всередині org-блоків. Я думаю, це може бути корисно для таких блоків #+BEGIN_QUOTE, але у вихідних кодах це просто нерозумно.

Чи є пакет, який виправляє все це?

Я хотів би перевірити орфографію свого письма, але кількість помилкових позитивів, які я отримую, робить це нездійсненним.

Якщо це має значення, перевірка правопису ОС - aspell.


Існує предикат flyspell для org-mode (перевірка (get 'org-mode 'flyspell-mode-predicate)), але я не впевнений, як це можна узагальнити ispell-buffer.
legoscia

@legoscia Ispell має змінну, що називається ispell-parser, тому предикат flyspell може добре працювати там із обгорткою.
Малабарба

1
Я використовую flyspell і hunspell, і я не бачу такої поведінки. Все, що знаходиться в рядках з #+або в блоках вихідного коду, не перевірено орфографією. Але нормальний текст під заголовками перевіряється. У мене це в моїй установці Flyspell: (add-hook 'prog-mode-hook 'flyspell-prog-mode),(add-hook 'org-mode-hook 'turn-on-flyspell)
Kaushal Моді

@kaushalmodi Так, flyspell розумніший за ispell. На жаль, flyspell трохи вимогливий до потужності для обробки моїх ноутбуків :(. Це непридатно, але трохи дратує, тому я намагався ispell.
Malabarba,

3
Ви бачили Can I prevent ispell from checking source blocks?на orgmode.org/worg/org-faq.html ?
rvf0068

Відповіді:


26

Як запропонував rvf0068 , ispell може бути налаштований на пропуск через регіони, які відповідають регексам. Наприклад, щоб пропустити :PROPERTIES:і :LOGBOOK:ящики, а також SRCблоки, ви можете помістити це у свій .emacsфайл:

(add-to-list 'ispell-skip-region-alist '(":\\(PROPERTIES\\|LOGBOOK\\):" . ":END:"))
(add-to-list 'ispell-skip-region-alist '("#\\+BEGIN_SRC" . "#\\+END_SRC"))

(Я новачок у StackExchange, тому якщо я порушив етикет або правила, розширивши відповідь на rvf0068, будь ласка, дайте мені знати.)


4
Я зовсім не проти, дякую за подальше опрацювання. :)
rvf0068

Ось, що я хотів ігнорувати Ispell
grettke

Це корисно, але занадто великий молоток для мене. У моєму ЛОГБОКі часто є нотатки, що я хотів би, щоб котушка була зафіксована.
vanden

1
Регіони, які я виключаю: github.com/grettke/home/blob/master/ALEC.org#L4546
grettke

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.