Me asignan zz
a 1z=
, que es grande la mayor parte del tiempo, pero de vez en cuando la primera sugerencia no es la correcta.
Así que me gustaría seguir repitiendo zz
(o .
) para recorrer las otras sugerencias.
Un segundo zz
en la misma palabra, entonces, funcionaría como u2z=
, un tercero zz
funcionaría como u3z=
y así sucesivamente.
¿Alguna idea sobre cómo hacer eso?
Editar:
Basado en la increíble respuesta de @nobe4, logré hacer lo que quiero, pero lo dejaré aquí por un tiempo en caso de que alguien tenga alguna mejora o sugerencia:
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>
(Cambié el mapeo <c-m>
por el comentario de @ Vitor. Además, esto me permite mantener presionadas esas teclas y desplazarme por las sugerencias realmente rápido. Estoy pensando en ello como <c-mistake>
).
zz
comando arregle cosas específicas rápidamente.
zz
centra la ventana alrededor de la línea actual. Es probablemente uno de los atajos que uso con más frecuencia. También debe pagar zb
y zt
.
scrolloff
bastante alto, pero eso todavía parece útil, consideraré otra asignación. ¡Gracias!
:Correct
comando: serás capaz de navegar a través de las palabras correctas conn
yN
, una ventana dividida se abre con todas las sugerencias de corrección puede simplemente navegar a través de ellos conj
yk
y<CR>
voluntad Aplica la corrección.