Org modunda akıllı yazım denetimi


38

Varsayılan olarak, M-x ispell-bufferorg modunda çalıştırmanın sonuçları çok hayal kırıklığı yaratıyor.

  1. Ispell :PROPERTY:, genellikle

    :ID:       797495bd-581b-4a42-883b-c2a55a08f08a
    
  2. Kuruluş ifadelerini düzeltmeye çalışıyor! Örneğin, şikayetçi SRCin

    #+BEGIN_SRC emacs-lisp
    
  3. Org blokların içine giriyor. Sanırım #+BEGIN_QUOTE, bunun gibi bloklar için faydalı olabilir , ama kaynak kodlu bloklarda aptalca.

Tüm bunları düzelten bir paket var mı?

Yazımı yazım denetimi yapmayı çok isterdim ama elde ettiğim yanlış-pozitiflerin miktarı onu olanaksız kılıyor.

Önemli ise, işletim sisteminin yazım denetleyicisi aspell'dir.


Org-mode (check (get 'org-mode 'flyspell-mode-predicate)) için bir flyspell belirtisi var , ama bunun nasıl genelleştirileceğinden emin değilim ispell-buffer.
legoscia

@legoscia Ispell'in adı verilen bir değişken vardır ispell-parser, bu nedenle flyspell'in ifadesi, etrafındaki bir sarmalayıcı ile iyi çalışabilir.
Malabarba

1
Flyspell ve hunspell kullanıyorum ve bu davranışı görmüyorum. #+Kaynak kod bloğu olan veya içindeki satırlardaki herhangi bir şey yazım denetimi yapılmaz. Ancak başlıkların altındaki normal metin kontrol edilir. Benim flyspell kurulumunda bu vardır: (add-hook 'prog-mode-hook 'flyspell-prog-mode),(add-hook 'org-mode-hook 'turn-on-flyspell)
Kaushal Modi'den

@kaushalmodi Evet, flyspell ispell'den daha akıllıdır. . Ne yazık ki, flyspell gücü :( işleme benim dizüstü bilgisayarlar için talep biraz Bu kullanışsız değil, ama ben Ispell çalışıyordu, bu yüzden de biraz sinir bozucu.
Malabarba

3
Eğer gördün mü Can I prevent ispell from checking source blocks?de orgmode.org/worg/org-faq.html ?
rvf0068

Yanıtlar:


26

Gibi rvf0068 önerdi , Ispell maç regexes o bölgeleri üzerinde atlamak için yapılandırılabilir. Örneğin, blokların yanı sıra çekmeceleri :PROPERTIES:ve atlamaları atlamak için bunu dosyanıza yerleştirebilirsiniz::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'te yeniyim, bu yüzden rvf0068'in cevabını genişleterek görgü kurallarını veya kuralları kırdıysam, lütfen bana bildirin.)


4
Hiç umrumda değil, daha fazla detaylandırmak için teşekkürler. :)
rvf0068

İşte ispell'i
grettke

Bu yararlı, ama benim için çok büyük bir çekiç. LOGBOOK'umda sık sık makaranın kıkırdamak istediğine dair notlarım var.
vanden

1
Hariç tuttuğum
grettke

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.