나는 매핑 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>
것 수정을 적용하십시오.