如何检查&;somesettingname在vim脚本中返回真值或布尔值?
我知道如何检查vimrc中是否存在设置 但我也遇到了一个问题:如果我在vimrc中设置了类似于如何检查&;somesettingname在vim脚本中返回真值或布尔值?,vim,Vim,我知道如何检查vimrc中是否存在设置 但我也遇到了一个问题:如果我在vimrc中设置了类似于tabstop=1,那么&tabstop将返回1。如果我在vimrc中设置了编号,编号也返回1。那么,我怎么知道它在vim脚本中返回的是数值还是布尔值呢 下面是我问这个问题的原因:我正在编写一个vimscript,将modeline添加到基于vimrc的文件中。我让modeline=“modeoption=&modeoptions”,当我将expandtab放入modeoptions时,我得到了类似于/
tabstop=1
,那么&tabstop
将返回1。如果我在vimrc中设置了编号
,编号
也返回1。那么,我怎么知道它在vim脚本中返回的是数值还是布尔值呢
下面是我问这个问题的原因:我正在编写一个vimscript,将modeline添加到基于vimrc的文件中。我让
modeline=“modeoption=&modeoptions”
,当我将expandtab放入modeoptions时,我得到了类似于/*vim:expandtab=1:shiftwidth=4:tabstop=4:smarttab=1:///code>的结果是正确的:都是布尔值(number
/nonnumber
)和整数选项(例如tabstop
)生成一个带有&optionname
语法的数字。Vimscript没有专用的布尔类型;true/false由非0/0表示
因此,您必须对插件中的选项类型进行硬编码,以便将正确的格式插入模型行。您可以从:help options.txt
检索所有选项。您的观察是正确的:布尔(数字
/非数字
)和整数选项(例如tabstop
)使用&optionname
语法生成一个数字。Vimscript没有专用的布尔类型;true/false由not 0/0表示
因此,您必须对插件中的选项类型进行硬编码,以便将正确的格式插入modeline。您可以从:help options.txt
检索所有选项