测试(布尔)选项值的vim脚本语法是什么?
如果设置了number(行号)选项,我将尝试向我的vimrc文件测试添加一个条件。我有:仅使用HTML文件类型添加的编号测试(布尔)选项值的vim脚本语法是什么?,vim,Vim,如果设置了number(行号)选项,我将尝试向我的vimrc文件测试添加一个条件。我有:仅使用HTML文件类型添加的编号 :autocmd FileType html source $HOME/.vim/html_vimrc.vim :if ('&number' == 0) "IF number is off : set spell "turn on spell checker :else "ELSE file type is HT
:autocmd FileType html source $HOME/.vim/html_vimrc.vim
:if ('&number' == 0) "IF number is off
: set spell "turn on spell checker
:else "ELSE file type is HTML
: set nospell "turn spell checker off
:endif
我试过了
:if (&number == "number")
:if $number
我试过用括号,引号,没有引号。我所有的测试要么全部设置,要么不设置。我正在阅读关于条件句的文章,但是我没有得到正确的答案,我找不到类似的例子
更新:除了在下面测试Michael的代码外,我还在vimrc中简化了测试:
:if exists("g:prog")
: set number "trying a different setting
:endif
在我已经加载的html_vimrc文件中
"number "turned this off
:let g:prog=1
在这种情况下,设置了test.html的测试用例g:prog,但没有设置“number”。在test.vim情况下,g:prog未设置,且“编号”未设置。这似乎表明VIM如何处理我丢失的加载的vimrc文件有一些基本逻辑。使用
&number
测试布尔值,不带引号
if (&number == 1)
或者更简单地说:
if (&number)
因此,您的整个操作如下所示:
if (&number == 0) "IF number is off
set spell "turn on spell checker
else "ELSE file type is HTML
set nospell "turn spell checker off
endif
我把情况简化为
:if exists("g:prog")
: let g:ok_prog=1 "trying a different setting
:endif
然后我使用
:let
检查变量是否可用于不同的文件类型用例。这显示了在自动加载的g:var之前加载的.vimrc文件中的变量(如果其他人有一个VIMDOCS引用,那就太棒了)。所有条件都失败,因为在条件失败之前,既没有加载my:number选项,也没有加载g:var 我使用了相同的语法,但没有成功。事实上,在我的谵妄状态下,我输入==1打开html拼写检查,然后检查==0。在我的$vim test.html
和$vim test
测试用例中,结果是两个文件都有或没有(是或否)。(所需的情况当然是(是/否))。%-(还有,如果有关系的话,我还有另外一篇关于的帖子。它们可能有关联吗?