@@ -87,7 +87,9 @@ endfunc
87
87
" reposition text offset
88
88
" ----------------------------------------------------------------------
89
89
function ! quickui#listbox#reposition ()
90
- exec ' normal! zz'
90
+ if mode () != ' i'
91
+ exec ' normal! zz'
92
+ endif
91
93
let height = winheight (0 )
92
94
let size = line (' $' )
93
95
let curline = line (' .' )
@@ -178,9 +180,11 @@ function! s:vim_create_listbox(textlist, opts)
178
180
if get (a: opts , ' index' , 0 ) >= 0
179
181
let moveto = get (a: opts , ' index' , 0 ) + 1
180
182
call popup_show (winid)
181
- call win_execute (winid, ' normal! G' )
182
- call win_execute (winid, ' :' . moveto)
183
- call win_execute (winid, ' normal! G' )
183
+ if mode () != ' i'
184
+ call win_execute (winid, ' normal! G' )
185
+ call win_execute (winid, ' :' . moveto)
186
+ call win_execute (winid, ' normal! G' )
187
+ endif
184
188
call win_execute (winid, ' :' . moveto)
185
189
call win_execute (winid, ' call quickui#listbox#reposition()' )
186
190
endif
@@ -363,7 +367,9 @@ function! quickui#listbox#cursor_movement(where)
363
367
let curline = endline
364
368
endif
365
369
noautocmd exec " :" . curline
366
- noautocmd exec " normal! 0"
370
+ if mode () != ' i'
371
+ noautocmd exec " normal! 0"
372
+ endif
367
373
endfunc
368
374
369
375
0 commit comments