Errori di ortografia corretti


19

Ho attivato il controllo ortografico con

:set spell spelllang=en_us

Ora posso correggere l'ortografia di una parola digitando 1z=(ovvero, scegliere la 1correzione ortografica ( z=)).

Come posso farlo funzionare automaticamente sulla parola precedente ogni volta che scrivo uno spazio, senza ritardi? Cerca anche di "correggere" le parole che sono già state digitate correttamente (motivo per cui non riesco a fare qualcosa di simile inoremap <space> <esc>mmb1z=`ma<space>), quindi voglio solo correggere ogni parola che scrivo se è errata .

Esiste un modo per correggere automaticamente le parole errate in Vim?


2

1
@ArturoVolpe Sembra una risposta legittima alla domanda.
bsmith89,

potresti combinare il precedente errore '[s' in una rimappatura? Vorrei aggiungere una risposta ma non so come fare il rimappare, quindi lo lascerò per qualcun altro.
Nick J Adams,

Risposte:


8

Consiglio di non correggere automaticamente ogni parola contrassegnata come errata, per due motivi.

  • In primo luogo, otterrai molti falsi positivi su cose che intendevi scrivere, specialmente nella scrittura più tecnica. Certamente puoi (e forse dovresti) aggiungere questi due dizionari al tuo modo di riconoscerli e suggerirli. Tuttavia, se non noti che sono corretti automaticamente, potrebbero passare a una versione finale di un documento, o peggio ancora, se stai scrivendo un codice o un file di configurazione (ad esempio, cambiando xminper minrendere il grafico completamente sbagliato). I commenti possono anche diventare strani (ad esempio, ho avuto "Istruzione etichetta e null" cambiata in "Etichetta e annulla istruzione", che cambia il significato (a) da una frase di sostantivo a un imperativo e (b) a significare qualcosa di completamente diverso. )
  • In secondo luogo, la correzione automatica è piuttosto scarsa nelle parole brevi. Nella mia esperienza, tende a completare la parola più vicina, che, con, ad esempio, parole di tre lettere, può essere totalmente diversa da ciò che intendi. Se vuoi dire a digitare di ma accidentalmente digitare fo , che sarà corretto a pochi -non quello che volevi! Ancora una volta, questi possono essere difficili da cogliere in revisioni superficiali.

Con questo in mente, penso che il tuo vero obiettivo sia riuscire a riconoscere e correggere rapidamente gli errori tipografici.

Uso i seguenti mapping per ottenere questo risultato:

" Go back to last misspelled word and pick first suggestion.
inoremap <C-L> <C-G>u<Esc>[s1z=`]a<C-G>u

" Select last misspelled word (typing will edit).
nnoremap <C-K> <Esc>[sve<C-G>
inoremap <C-K> <Esc>[sve<C-G>
snoremap <C-K> <Esc>b[sviw<C-G>

Quando scrivo il testo del corpo, tutte le parole errate verranno sottolineate, in base alle mie impostazioni di evidenziazione. Se vedo che la parola è relativamente lunga ed è un semplice errore di battitura, allora posso immaginare che spellprobabilmente lo risolverà correttamente, quindi premo <C-L>e continuo a digitare. Se è una parola più breve o prevedo che la sbaglierò, posso premere <C-K>e regolare da solo. Alla fine, se spellinaspettatamente correggo la cosa sbagliata, ho impostato un indicatore di annullamento con <C-G>u, quindi posso solo <Esc>ucWcambiarlo manualmente. Ciò consente un flusso di lavoro molto veloce per la maggior parte del tempo.


Riparare automaticamente ogni parola è un'idea eccellente .
Ricco

2

Per caso, ho scritto un plugin che fa esattamente questo. Si chiama Vim You, Correzione automatica!

Dopo l'installazione, digita :EnableAutocorrectper accenderlo in qualsiasi buffer, e vedrai presto che il spaventapasseri di wchargin è abbastanza infondato.


Nota che il tuo commento sulla risposta di wchargin è stato segnalato come maleducato, l'ho modificato per rimuovere il "Poppycock!" e licenziò la bandiera. Non è un grosso problema, solo FYI.
Martin Tournoij,

@MartinTournoij Va bene. Anche molte persone su reddit non hanno capito bene . :) (Grazie per il testa a testa, però.)
Rich

signor Rich quale pacchetto voglio installare e digitare: EnableAutoCorrect non ho capito
MP Creations

@MPCreations Usi un gestore plugin?
Ricco

@MPCreations Forse dai un'occhiata alle risposte a vi.stackexchange.com/questions/613/… se non sai come installare un plugin
Rich
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.