Tyl*_*den 2 variables vim types
我对Vimscript变量如何工作感到困惑,例如,关于变量expandtab和noexpandtab,它们似乎彼此相反.如果我问vim,
:set expandtab?
Run Code Online (Sandbox Code Playgroud)
它的答案noexpandtab.如果我问它,
:echo &expandtab
Run Code Online (Sandbox Code Playgroud)
它的答案0.如果我问它
:set noexpandtab?
Run Code Online (Sandbox Code Playgroud)
它noexpandtab再次回答.但如果我问它
:echo &noexpandtab
Run Code Online (Sandbox Code Playgroud)
它回答:
E113: Unknown option: noexpandtab
E15: Invalid expression: &noexpandtab
Run Code Online (Sandbox Code Playgroud)
所以,我想我不明白.如果noexpandtab是一个变量,为什么我不能回应它的价值呢?如果它不是一个变量那么它是什么?
你在处理选项,这里不是变量.
noexpandtab不是一个选项,它no后跟一个实际的选项名称.此表示法允许您使用该:set命令关闭布尔选项.
该&option表示法用于处理option表达式的值.它只能与实际选项名称(短或长)一起使用,因此它不适用于noexpandtab哪个不是有效的选项名称.
" switch expandtab on
:set expandtab :let &expandtab = 1
" switch expandtab off
:set noexpandtab :let &expandtab = 0
" see what's the value of expandtab
:set expandtab? :echo &expandtab
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
757 次 |
| 最近记录: |