Je cartographié zz
à 1z=
, qui est grande la plupart du temps, mais de temps en temps la première suggestion n'est pas la bonne.
Je voudrais donc continuer à répéter zz
(ou .
) pour parcourir les autres suggestions.
Une seconde zz
sur le même mot fonctionnerait donc comme u2z=
, une troisième zz
fonctionnerait comme u3z=
et ainsi de suite.
Des idées sur la façon de procéder?
Éditer:
Sur la base de la réponse impressionnante de @ nobe4, j'ai réussi à faire ce que je veux, mais je vais le laisser ici pendant un moment au cas où quelqu'un aurait des améliorations ou des suggestions:
let s:spell_position = []
let s:spell_count = 0
let s:spell_word = ""
function! LoopSpell()
if s:spell_position != getpos('.') ||
\ (s:spell_count > 0 && s:spell_word !~ expand("<cword>"))
let s:spell_count = 0
let s:spell_position = getpos('.')
endif
if s:spell_count > 0
silent execute "normal! u"
endif
let s:current_word = expand("<cword>")
if len(s:current_word) <= 0
return
endif
let s:spell_suggestions = spellsuggest(expand(s:current_word))
if len(s:spell_suggestions) <= 0
return
endif
if s:spell_count >= len(s:spell_suggestions)
let s:spell_word = s:current_word
let s:spell_count = 0
else
let s:spell_word = s:spell_suggestions[s:spell_count]
let s:spell_count += 1
endif
silent execute "normal! ciw" . s:spell_word
let s:spell_position = getpos('.')
endfunction
nnoremap <c-m> :call LoopSpell()<CR>
(J'ai changé le mappage en <c-m>
raison du commentaire de @ Vitor. Cela me permet également de maintenir ces touches enfoncées et de faire défiler les suggestions très rapidement. J'y pense comme <c-mistake>
.)
zz
commande corrige rapidement des choses spécifiques.
zz
centre la fenêtre autour de la ligne actuelle. C'est probablement l'un des raccourcis que j'utilise le plus souvent. Vous devriez également commander zb
et zt
.
scrolloff
assez haut, mais cela semble toujours utile, je vais envisager une autre cartographie. Merci!
:Correct
commande: vous serez en mesure de naviguer creux les mots correcte avecn
etN
, une fenêtre divisée en deux ouvre toutes les suggestions de correction , vous pouvez simplement naviguer à travers eux avecj
etk
et<CR>
sera appliquer la correction.