Pengecekan ejaan yang cerdas dalam mode-org


38

Secara default, hasil menjalankan M-x ispell-bufferdalam mode-org sangat mengecewakan.

  1. Ispell melihat ke dalam :PROPERTY:laci, yang biasanya berisi benda-benda seperti

    :ID:       797495bd-581b-4a42-883b-c2a55a08f08a
    
  2. Mencoba untuk mengoreksi pernyataan org! Misalnya, ia mengeluh tentang SRCin

    #+BEGIN_SRC emacs-lisp
    
  3. Itu masuk ke dalam blok-org. Saya kira ini mungkin berguna untuk blok seperti #+BEGIN_QUOTE, tetapi dalam blok kode sumber itu hanya konyol.

Apakah ada paket yang memperbaiki semua ini?

Saya ingin mengeja-periksa tulisan saya tetapi jumlah positif palsu yang saya dapatkan membuatnya tidak layak.

Jika itu penting, pemeriksa ejaan OS adalah aspell.


Ada predikat flyspell untuk mode-org (centang (get 'org-mode 'flyspell-mode-predicate)), tapi saya tidak yakin bagaimana itu bisa digeneralisasi ispell-buffer.
legoscia

@legoscia Ispell memiliki variabel yang dipanggil ispell-parser, jadi predikat flyspell mungkin bekerja dengan baik di sana dengan pembungkus di sekitarnya.
Malabarba

1
Saya menggunakan flyspell dan hunspell dan saya tidak melihat perilaku itu. Apa pun yang sejalan dengan #+atau dalam blok kode sumber tidak diperiksa ejaan. Tetapi teks normal di bawah judul diperiksa. Saya memiliki ini di setup flyspell saya: (add-hook 'prog-mode-hook 'flyspell-prog-mode),(add-hook 'org-mode-hook 'turn-on-flyspell)
Kaushal Modi

@kaushalmodi Ya, flyspell lebih pintar dari ispell. Sayangnya, flyspell sedikit menuntut daya pemrosesan laptop saya :(. Ini tidak dapat digunakan, tapi agak menjengkelkan, itulah sebabnya saya mencoba ispell.
Malabarba

3
Pernahkah Anda melihat Can I prevent ispell from checking source blocks?di orgmode.org/worg/org-faq.html ?
rvf0068

Jawaban:


26

Seperti yang disarankan rvf0068 , ispell dapat dikonfigurasi untuk melewati wilayah yang cocok dengan regex. Misalnya, untuk melewati :PROPERTIES:dan :LOGBOOK:laci serta SRCblok, Anda bisa meletakkan ini di .emacsfile Anda :

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

(Saya baru mengenal StackExchange, jadi jika saya melanggar etiket atau aturan dengan memperluas jawaban rvf0068, tolong beri tahu saya.)


4
Saya tidak keberatan sama sekali, terima kasih atas elaborasi lebih lanjut. :)
rvf0068

Inilah yang saya ingin diabaikan oleh ispell
grettke

Itu berguna, tapi palu terlalu besar untukku. Saya sering memiliki catatan di LOGBOOK saya yang ingin saya buang spool.
vanden


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.