我正试图用vimscript
为vim写一个插件,我想显示一些日志对于特定的时间。如:
echo 'some log'
sleep 2
redraw!
当我使用sleep
和redraw
时,所有当前窗口冻结一段时间,但我想睡觉只是为了日志,而不是所有的vim窗口!
我该怎么做呢?
sleep
将始终阻塞。在VIM版本8中,您可以使用timer
代替。下面是一个不应该阻塞VIM的简单示例:
echo 'some log'
let timer = timer_start(2000, 'LogTrigger', {})
func! LogTrigger(timer)
silent! redraw!
endfunc