我了解如何在vimrc中检查设置是否存在Vimscript: use vim settings as variables / How to check if specific guioption is set or not
但我也有一个问题:如果我在vimrc中设置tabstop=1
之类的内容,那么&tabstop
将返回1.如果我在vimrc中有set number
,&number
也是返回1.那么,我怎么能知道在vim脚本中它返回一个数值或者只是一个boolen?
以下是我提出这个问题的原因:我正在编写一个vimscript来将模式行添加到vimrc上的文件库。我允许modeline="modeoption=&modeoptions"
,当我将expandtab放入模式选项时,我得到{{1}之类的内容}。
答案 0 :(得分:4)
您的观察是正确的:布尔值(number
/ nonumber
)和整数选项(例如tabstop
)都会产生一个带有&optionname
语法的数字。 Vimscript没有专用的布尔类型; true / false由非0/0表示。
因此,您必须对插件中的选项进行硬编码才能将正确的格式插入到模式行中。您可以从:help options.txt
检索所有选项。