Я сопоставляются zz
с 1z=
, который является большим большую часть времени, но каждый сейчас и тогда первое предложение не является правильным.
Поэтому я хотел бы повторять zz
(или .
) циклически проходить другие предложения.
Тогда секунда zz
на том же слове будет работать как u2z=
, третья zz
будет работать как u3z=
и так далее.
Есть идеи, как это сделать?
Редактировать:
Основываясь на потрясающем ответе @ nobe4, мне удалось сделать то, что я хочу, но я оставлю это здесь на некоторое время, если у кого-то есть какие-либо улучшения или предложения:
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>
(Я изменил отображение на <c-m>
из-за комментария @ Vitor. Также это позволяет мне удерживать эти клавиши и вроде бы быстро пролистывать предложения. Я думаю об этом как <c-mistake>
.)
zz
команда быстро исправляла определенные вещи.
zz
центрирует окно вокруг текущей строки. Вероятно, это один из ярлыков, которые я использую чаще. Вы должны также проверка zb
и zt
.
scrolloff
довольно высокое, но это все еще кажется полезным, я рассмотрю другое отображение. Благодарность!
:Correct
команду: вы будете иметь возможность перемещаться корытом слова , чтобы правильно сn
иN
расколом открывается окно со всеми предложениями коррекции вы можете просто перемещаться по ним сj
иk
и<CR>
волевым применить коррекцию.