bash - 如何在 vimscript 中使用 sleep 仅用于命令行栏?

标签 bash vim command-line vi vim-plugin

我正在尝试使用 vimscript 为 vim 编写一个插件我想显示一些日志
特定时间。喜欢:

echo 'some log'
sleep 2
redraw!
当我使用 sleepredraw ,所有当前窗口都卡住了一段时间,但我只想为了日志而 sleep ,而不是所有的 vim 窗口!
我怎样才能做到这一点?

最佳答案

sleep会一直阻塞。使用 VIM 版本 8,您可以使用 timer反而。这是一个不应阻止 VIM 的精简示例:

echo 'some log'
let timer = timer_start(2000, 'LogTrigger', {})
func! LogTrigger(timer)
  silent! redraw!
endfunc

关于bash - 如何在 vimscript 中使用 sleep 仅用于命令行栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66268149/

相关文章:

regex - 使用扩展正则表达式的 Sed 反向引用

linux - 同步shell脚本执行

vim - 如何从源代码构建 vim 7.3.285

macos - 在终端的新选项卡中运行命令

shell - 用猫没用?

bash - bash 中定义函数的区别

linux - 如何将退出状态从 Expect 传播到其父 Bash 脚本?

linux - 在 vim 中编码时如何使用终端?

vim - set Complete+=k[file] 不适用于整行完成?

objective-c - 用 c 或 objective-c 编写的交互式命令行应用程序的简单示例?