我目前正在我的macvim中使用vim-airline ,我想显示expandtab
的状态,无论它是否在状态行中设置。
我可以通过运行以下命令:set expandtab?
来了解expandtab
的状态。从vim-airline 文档中,我发现我可以使用这样的东西
let g:airline_section_b = '%{getcwd()}'
我将其修改为
let g:airline_section_b = '%{expandtab?}'
但是我收到错误undefined variable: expandtab
.
有人可以告诉我如何检索expandtab
的状态,然后在状态行中显示它。谢谢。
:set
不访问变量,因此不能使用问号来查询变量。
您正在尝试访问不存在的变量expandtab
变量。您实际上想要访问选项设置,并且使用&
前缀访问这些设置。
你应该补充:
let g:airline_section_b = '%{&expandtab}'
请注意,问号不是必需的,对 VimL 没有特殊含义。
有关详细信息,请参阅:h expr-option
。
更新这将仅显示1
(展开选项卡集)或0
(未设置展开选项卡)。但是应该起作用的是这样的:
let g:airline_section_b = '%{&expandtab?"et":"noet"}'
当设置展开选项卡时将显示"et",如果未设置扩展选项卡时将显示"noet"。这使用 <cond>?<true>:<false>
表达式来显示对 :h expr1
如果前缀为 &
,则可以访问 Vim 选项。例:
let g:airline_section_b = '%{&expandtab}'
请参阅:h :let-&
了解更多信息