Estoy tratando de definir una función que haga que sea más fácil ver dónde se encuentra el cursor colocando una cruz alrededor de 100 ms.
Aquí está mi intento:
function! Flash()
set cursorline cursorcolumn
sleep 100m
set nocursorline nocursorcolumn
endfunction
nnoremap <leader>fl :call Flash()
Sin embargo, parece que la función anterior está llamando al sueño al principio en lugar de entre las dos llamadas "establecidas".
¿Hay algo fundamental sobre el "sueño" que no entiendo?
Respuestas:
El problema es que Vim no vuelve a dibujar la pantalla hasta que se completa la función. No estoy seguro de cuál es exactamente la lógica de Vim sobre cuándo volver a dibujar , pero en este tipo de casos a menudo tiene que llamar
redraw
manualmente:Probablemente también desee agregar
<CR>
a la asignación de teclas:fuente