Controllo ortografico intelligente in modalità org


38

Per impostazione predefinita, i risultati dell'esecuzione M-x ispell-bufferin modalità org sono molto deludenti.

  1. Ispell guarda all'interno dei :PROPERTY:cassetti, che comunemente contengono cose come

    :ID:       797495bd-581b-4a42-883b-c2a55a08f08a
    
  2. Cerca di correggere le dichiarazioni dell'organizzazione! Per esempio, si lamenta l' SRCin

    #+BEGIN_SRC emacs-lisp
    
  3. Va all'interno di blocchi organizzativi. Suppongo che questo potrebbe essere utile per blocchi come #+BEGIN_QUOTE, ma nei blocchi di codice sorgente è semplicemente stupido.

Esiste un pacchetto che risolve tutto questo?

Mi piacerebbe controllare l'ortografia dei miei scritti, ma la quantità di falsi positivi che sto ottenendo lo rende irrealizzabile.

Se è importante, il controllo ortografico del sistema operativo è aspell.


Esiste un predicato flyspell per la modalità org (controllo (get 'org-mode 'flyspell-mode-predicate)), ma non sono sicuro di come generalizzare ispell-buffer.
legoscia,

@legoscia Ispell ha una variabile chiamata ispell-parser, quindi il predicato di flyspell potrebbe funzionare bene lì con un wrapper attorno.
Malabarba,

1
Uso flyspell e hunspell e non vedo quel comportamento. Tutto ciò che è in linea con #+o nei blocchi di codice sorgente non viene controllato. Ma il testo normale sotto le intestazioni è controllato. Ho questi nel mio setup flyspell: (add-hook 'prog-mode-hook 'flyspell-prog-mode),(add-hook 'org-mode-hook 'turn-on-flyspell)
Kaushal Modi

@kaushalmodi Sì, flyspell è più intelligente di ispell. Sfortunatamente, flyspell è un po 'impegnativo per la potenza di elaborazione dei miei laptop :(. Non è inutilizzabile, ma è un po' fastidioso, motivo per cui stavo provando ispell.
Malabarba

3
Hai visto Can I prevent ispell from checking source blocks?in orgmode.org/worg/org-faq.html ?
rvf0068,

Risposte:


26

Come suggerito da rvf0068 , ispell può essere configurato per saltare regioni che corrispondono a regex. Ad esempio, per saltare :PROPERTIES:e :LOGBOOK:cassetti così come SRCi blocchi, si potrebbe mettere questo nel vostro .emacsfile di:

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

(Sono nuovo di StackExchange, quindi se ho infranto l'etichetta o le regole espandendo la risposta di rvf0068, per favore fatemelo sapere.)


4
Non mi dispiace affatto, grazie per l'ulteriore elaborazione. :)
rvf0068,

Ecco cosa volevo ignorare ispell: github.com/grettke/home/blob/master/TC3F.org
grettke

È utile, ma è un martello troppo grande per me. Ho spesso delle note nel mio LOGBOOK che vorrei essere spool chucked.
vanden,


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.