vim - 在 vimscript 中传递一个变量以休眠

标签 vim

我使用 vim 的时间已经数不胜数了,但我从来没有真正学好 vimscript。我现在正在尝试。

无论如何,我想将可变的时间传递给 sleep 功能。我还想在传递它之前操纵该值。这是一个简单的例子。

function! wait(mil)
    let timetowait = mil . "m"
    sleep timetowait
endfunction

即使我尝试在 timetowait 前加上 l: 前缀,它也会显示“无效参数:l:timetowait”。

将变量的值传递给 sleep 的正确方法是什么?

最佳答案

有几个问题:

  • 您的方法应以大写名称开头
  • 您需要使用 a:
  • 访问您的论点
  • 你必须在 sleep 时间和 m
  • 之间留出一段距离
  • 您必须使用 execute
  • 间接执行 sleep

这是一个如何做到这一点的示例:

function! Wait(mil)
    let timetowait = a:mil . " m"
    exe 'sleep '.timetowait
endfunction 

关于vim - 在 vimscript 中传递一个变量以休眠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14778789/

相关文章:

vim - 在新窗口中打开命令

python - Vim omnicomplete 和系统 Python 的问题

bash - 如何使用 'time' 为 vim session 计时

file - vim:gf 的反义词是什么?

vim - 是否可以在 VIM 中为 :! 或 :r ! 启用 bash_completion?

vim - 是否可以在 vim 中禁用替换模式?

vim - 如何将 cscope 用于包含空格的路径

vim - 在 Vim 中对齐行尾注释?

bash - 在 vim 脚本中使用 bash 计算器 - 奇怪的行为

Vim 的 '(insert) VISUAL' 模式?