Tôi ánh xạ zz
tới 1z=
, đó là rất tốt hầu hết thời gian, nhưng tất cả bây giờ và sau đó đề nghị đầu tiên không phải là một trong những quyền.
Vì vậy, tôi muốn tiếp tục lặp lại zz
(hoặc .
) để duyệt qua các đề xuất khác.
Một giây zz
trên cùng một từ, sau đó, sẽ hoạt động như thế u2z=
, một phần ba zz
sẽ hoạt động như u3z=
vậy và cứ thế.
Bất kỳ ý tưởng về làm thế nào để làm điều đó?
Biên tập:
Dựa trên câu trả lời tuyệt vời của @ nobe4, tôi đã xoay sở để làm những gì tôi muốn, nhưng tôi sẽ để nó ở đây một lúc trong trường hợp có ai có bất kỳ cải tiến hoặc đề xuất nào:
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>
(Tôi đã thay đổi ánh xạ thành <c-m>
vì nhận xét của @ Vitor. Ngoài ra, điều này cho phép tôi giữ các phím đó xuống và sắp xếp cuộn qua các đề xuất rất nhanh. Tôi nghĩ về nó như <c-mistake>
.)
zz
lệnh của mình sửa chữa những thứ cụ thể một cách nhanh chóng.
zz
tập trung vào cửa sổ xung quanh dòng hiện tại. Đây có lẽ là một trong những phím tắt tôi sử dụng thường xuyên hơn. Bạn cũng nên kiểm tra zb
và zt
.
scrolloff
mức khá cao, nhưng điều đó vẫn có vẻ hữu ích, tôi sẽ xem xét một ánh xạ khác. Cảm ơn!
:Correct
lệnh: bạn sẽ có thể để di chuyển máng những lời để đúng vớin
vàN
, một cửa sổ tách mở ra với tất cả những đề nghị sửa chữa, bạn có thể chỉ đơn giản là điều hướng qua chúng vớij
vàk
và<CR>
sẽ áp dụng hiệu chỉnh.