如何让Vim测试用户输入是否为整数?

Tra*_*vis 3 vim integer

我敢肯定这可能是一个简单的问题,但我被困住了.我需要编写一个小的Vim脚本程序,要求用户输入.如果用户输入整数,则程序继续.如果他们没有,那么程序循环回来并要求他们重试.如果他们输入'X',程序退出.如何验证用户是否输入了整数?

Ing*_*kat 6

其他答案已经提供了很好的解决方案 我只是想用正则表达式添加更一般的验证以确保完整性:

if input =~# '^\d\+$'
    echo "input is a number"
endif
Run Code Online (Sandbox Code Playgroud)


rom*_*inl 5

您可以使用该type()功能:

if type(myvar) == type(0)
  echo "myvar is a number"
endif
Run Code Online (Sandbox Code Playgroud)

:h type()